processus time double after fews seconde

hi,

my application use android java JNI to process camera vidéo in real time. The C part use openCL and multicore threading with médiatek 9200+ and mali G715.

Something strange append with the application. After fews seconde of processing, 70-80 frames, i go from 60-70ms per frame to 140-160 per frame.

What i am doing :

1) i do some kernel to conver YUV and extract data

2) Then i procees the extracted data with CPU multicore threading(4 thread at the time) 7 time.

3) Then i use kernel again to extract data and send it back to Java.

If i remove all the CPU work, the GPU time remain stable between 20ms at the begining(70-80 frames)  to 40-45. But with the CPU work time increase dramaticly after 70-80 frame using the same amount of input data. The same problem appened with my old mali g72 after 20 frames.

I tried to use streamline, but as i run windows7 i cannot have the analizer, how just run from windows10. But i can get the graph and i remarked a strange activity on the GPU.

1) the Mali Memory Read Latency after to get red after the 70-80 frames. (it show 25 mega beats ?)

2) the Mali geométry culling rate start to ocsillate. (it show 100%)

3) the Mali geométry efficiency start to ocsillate. (it show 3 trheads)

4) Mali Early ZS rate is red

and many other thing start to ocillate. But Device Thermal State is 100% green.

in fact after 70-80 frames a lot of thing start to ocsillate.

And streamline is to complicated for me. there is too much things to know and anderstant. I do not have the time.

So i am wondering if it could be possible for an expert to analyse it.

As i said i had the same problem on old maliG78 so at some point there is something that goes wrong using in alternance GPU-CPU-GPU. In one of my post about SVM someone told me that using GPU and CPU was not a good odea. But i cannot do with GPU what i am doing with GPU. Or i do not know how to do with GPU what i am doing with CPU. At some time i need to procces data with CPU.

thanks for the help.

Parents
  • hi,

    Using only GPU do not get trouble with CPU frequency scalling control logic because everything ate done to inprove GPU performance.

    The main problem for my algorithme is to use massive CPU work. Because  CPU frequency scalling control logic only work with
    CPU.

    So at the end it is only a problem of heat and battery. Why not adding a cooling system on the chip. Spécially if ARM want to move from mobile to laptop or PC.

    And why increasing the speed of the CPU if we can only use it at an average of 30%. I look at the CPU use with the apk "3C CPU manager" and CPU speed is very rarelly use at is top frequency.

    I do not anderstand why alway inproving speed if it cannot be used. It would be more usefull to have 8 core at 1800 Mhz. On the 92000+ médiatek the X3 never goes faster than 1400 Mhz. May be for vulkan CPU can be usefull but it is only for GPU work not really for CPU work.

    In the old time CPU work was the main purpose, now it is only GPU. But GPU do not work like CPU and I need both to work fast. Not only showing nice image but procees data. Nobody will make a server with only GPU it is not usefull.

    There is matrice work and row work. Both are necessary. May be not yet in phone. But it will come.

Reply
  • hi,

    Using only GPU do not get trouble with CPU frequency scalling control logic because everything ate done to inprove GPU performance.

    The main problem for my algorithme is to use massive CPU work. Because  CPU frequency scalling control logic only work with
    CPU.

    So at the end it is only a problem of heat and battery. Why not adding a cooling system on the chip. Spécially if ARM want to move from mobile to laptop or PC.

    And why increasing the speed of the CPU if we can only use it at an average of 30%. I look at the CPU use with the apk "3C CPU manager" and CPU speed is very rarelly use at is top frequency.

    I do not anderstand why alway inproving speed if it cannot be used. It would be more usefull to have 8 core at 1800 Mhz. On the 92000+ médiatek the X3 never goes faster than 1400 Mhz. May be for vulkan CPU can be usefull but it is only for GPU work not really for CPU work.

    In the old time CPU work was the main purpose, now it is only GPU. But GPU do not work like CPU and I need both to work fast. Not only showing nice image but procees data. Nobody will make a server with only GPU it is not usefull.

    There is matrice work and row work. Both are necessary. May be not yet in phone. But it will come.

Children
No data