This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

OpenCL time excetion increase in time

hi,

Sorry for the tittle, i do not know if is a coorect english ;))

I am testing on Hauwei Honnor play Kirim 970 and ARM mali G72 MP12. And use the 32 bit lib. 64 not working ?

So i found out that kernel time excecution increase in time. here are some output.

2021-08-18 13:58:43.877 E/JNIProcessor:  13 traitement bufligne finished in 49 ms temps Moy 49  Nb Frame 24

2021-08-18 13:58:46.169 E/JNIProcessor:  13 traitement bufligne finished in 86 ms temps Moy 90  Nb Frame 50

2021-08-18 13:58:51.611 E/JNIProcessor:  13 traitement bufligne finished in 109 ms temps Moy 109  Nb Frame 100

2021-08-18 13:58:57.534 E/JNIProcessor:  13 traitement bufligne finished in 112 ms temps Moy 115  Nb Frame 150

then the time stabalize around 100 Ms

here is one full frame traitment :

FRAME 20

2021-08-18 14:12:35.917 E/JNIProcessor:  00 Create Buffer CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR finished in 1 ms ligth: 58
2021-08-18 14:12:35.924 E/JNIProcessor:  0 gNV21Kernel finished in 8 ms ligth: 58
2021-08-18 14:12:35.924 I/JNIProcessor:  debug ind: 0 value: 312703
2021-08-18 14:12:35.924 I/JNIProcessor:  debug ind: 1 value: 439629
2021-08-18 14:12:35.924 I/JNIProcessor:  debug ind: 2 value: 388327
2021-08-18 14:12:35.925 I/JNIProcessor:  debugIdx value: 2953  decalage 0
2021-08-18 14:12:35.928 E/JNIProcessor:  2 gSuperPixel 1 finished in 12 ms ligth: 58
2021-08-18 14:12:35.930 E/CameraPreview:  onDraw 19 flipframe 0
2021-08-18 14:12:35.930 E/CameraPreview:  !! dispatchDraw 19 flipframe 1
2021-08-18 14:12:35.934 E/JNIProcessor:  2 gVision 1 finished in 18 ms ligth: 58
2021-08-18 14:12:35.939 E/JNIProcessor:  2 gSuperPixel 2 finished in 22 ms ligth: 58
2021-08-18 14:12:35.944 E/JNIProcessor:  2 gVision 2 finished in 28 ms ligth: 58
2021-08-18 14:12:35.948 E/JNIProcessor:  1 gFiltreColor finished in 31 ms ligth: 58
2021-08-18 14:12:35.950 E/JNIProcessor:  3 gCompression finished in 33 ms ligth: 58
2021-08-18 14:12:35.950 E/JNIProcessor:  3 gLignes before enqueueReadBuffer finished in 34 ms ligth: 58
2021-08-18 14:12:35.951 E/JNIProcessor:  4 traitement enqueueReadBuffer finished in 35 ms
2021-08-18 14:12:35.951 E/JNIProcessor:  5 Start traitement forme CPU multi thread at 35 ms
2021-08-18 14:12:35.954 E/JNIProcessor:  Trait_Raw_Col Rouge 0 indrectRV: 197  
2021-08-18 14:12:35.954 E/JNIProcessor:  void Extraction_Point: buf.bufligne  rougeX: 4010
2021-08-18 14:12:35.955 E/JNIProcessor:  void Extraction_Point: buf.bufligne vertY: 4671
2021-08-18 14:12:35.955 E/JNIProcessor:  Trait_Raw_Col Blanc 2 indrectBV: 186  
2021-08-18 14:12:35.955 E/JNIProcessor:  Trait_Raw_Col Vert  1 indrectVH: 182  
2021-08-18 14:12:35.956 E/JNIProcessor:  void Extraction_Point: buf.bufligne  bleuY: 4839
2021-08-18 14:12:35.956 E/JNIProcessor:  void Extraction_Point: buf.bufligne  blancX: 2896
2021-08-18 14:12:35.956 E/JNIProcessor:  Trait_Raw_Col Bleue 3 indrectBH: 195  
2021-08-18 14:12:35.957 E/JNIProcessor:  9 traitement forme CPU multi thread finished in 40 ms
2021-08-18 14:12:35.957 E/JNIProcessor:  10 traitement enqueueWriteBuffer finished in 41 ms
2021-08-18 14:12:35.959 E/JNIProcessor:  10Bis traitement Lignes2 finished in 42 ms
2021-08-18 14:12:35.960 E/JNIProcessor:  11 traitement mélange image finished in 44 ms
2021-08-18 14:12:35.963 E/JNIProcessor:  12 enqueueReadBuffer to display finished in 47 ms
2021-08-18 14:12:35.963 E/JNIProcessor:  13 traitement bufligne finished in 47 ms temps Moy 47  Nb Frame 20
2021-08-18 14:12:35.963 E/JNIProcessor:  14 END JNICALL CameraPreview_runfilter
2021-08-18 14:12:35.963 E/CameraPreview:  onPreviewFrame 20
2021-08-18 14:12:35.964 E/JNIProcessor:  000 START JNICALL CameraPreview_runfilter

FRAME 162

2021-08-18 13:58:58.772 E/JNIProcessor:  00 Create Buffer CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR finished in 2 ms ligth: 58
2021-08-18 13:58:58.778 E/CameraPreview:  onDraw 161 flipframe 0
2021-08-18 13:58:58.778 E/CameraPreview:  !! dispatchDraw 161 flipframe 1
2021-08-18 13:58:58.790 E/JNIProcessor:  0 gNV21Kernel finished in 19 ms ligth: 58
2021-08-18 13:58:58.790 I/JNIProcessor:  debug ind: 0 value: 284799
2021-08-18 13:58:58.790 I/JNIProcessor:  debug ind: 1 value: 446655
2021-08-18 13:58:58.790 I/JNIProcessor:  debug ind: 2 value: 527627
2021-08-18 13:58:58.790 I/JNIProcessor:  debugIdx value: 2879  decalage 0
2021-08-18 13:58:58.801 E/JNIProcessor:  2 gSuperPixel 1 finished in 30 ms ligth: 58
2021-08-18 13:58:58.816 E/JNIProcessor:  2 gVision 1 finished in 45 ms ligth: 58
2021-08-18 13:58:58.826 E/JNIProcessor:  2 gSuperPixel 2 finished in 56 ms ligth: 58
2021-08-18 13:58:58.842 E/JNIProcessor:  2 gVision 2 finished in 71 ms ligth: 58
2021-08-18 13:58:58.846 E/JNIProcessor:  1 gFiltreColor finished in 75 ms ligth: 58
2021-08-18 13:58:58.850 E/JNIProcessor:  3 gCompression finished in 79 ms ligth: 58
2021-08-18 13:58:58.850 E/JNIProcessor:  3 gLignes before enqueueReadBuffer finished in 79 ms ligth: 58
2021-08-18 13:58:58.851 E/JNIProcessor:  4 traitement enqueueReadBuffer finished in 80 ms
2021-08-18 13:58:58.851 E/JNIProcessor:  5 Start traitement forme CPU multi thread at 80 ms
2021-08-18 13:58:58.853 E/JNIProcessor:  void Extraction_Point: buf.bufligne vertY: 9004
2021-08-18 13:58:58.853 D/ZrHung.AppEyeUiProbe: stop checker.
2021-08-18 13:58:58.854 E/JNIProcessor:  Trait_Raw_Col Rouge 0 indrectRV: 368  
2021-08-18 13:58:58.854 E/JNIProcessor:  void Extraction_Point: buf.bufligne  bleuY: 6048
2021-08-18 13:58:58.854 E/JNIProcessor:  Trait_Raw_Col Bleue 3 indrectBH: 360  
2021-08-18 13:58:58.855 E/JNIProcessor:  Trait_Raw_Col Vert  1 indrectVH: 375  
2021-08-18 13:58:58.856 E/JNIProcessor:  void Extraction_Point: buf.bufligne  rougeX: 4994
2021-08-18 13:58:58.856 E/JNIProcessor:  void Extraction_Point: buf.bufligne  blancX: 3658
2021-08-18 13:58:58.856 E/JNIProcessor:  Trait_Raw_Col Blanc 2 indrectBV: 410  
2021-08-18 13:58:58.857 E/JNIProcessor:  9 traitement forme CPU multi thread finished in 86 ms
2021-08-18 13:58:58.859 E/JNIProcessor:  10 traitement enqueueWriteBuffer finished in 88 ms
2021-08-18 13:58:58.860 E/JNIProcessor:  10Bis traitement Lignes2 finished in 89 ms
2021-08-18 13:58:58.862 E/JNIProcessor:  11 traitement mélange image finished in 92 ms
2021-08-18 13:58:58.866 E/JNIProcessor:  12 enqueueReadBuffer to display finished in 95 ms
2021-08-18 13:58:58.866 E/JNIProcessor:  13 traitement bufligne finished in 95 ms temps Moy 108  Nb Frame 162
2021-08-18 13:58:58.866 E/JNIProcessor:  14 END JNICALL CameraPreview_runfilter
2021-08-18 13:58:58.866 E/CameraPreview:  onPreviewFrame 162
2021-08-18 13:58:58.867 E/JNIProcessor:  000 START JNICALL CameraPreview_runfilter

so i am wondering if i am doing some thing wrong using OpenCL. Or i may forgot an importante thing.

Thanks for the help.

regards herve terrolle

Parents
  • Hi hterrolle,

    If each OpenCL kernel process the same amount of instruction/data, and you execute them directly one after the other, and the time increase at each kernel execution, it may be related to temperature of your device.

    Under Linux, if the device reach a "high" temperature, the OS will throttle the CPU performance trying to limit the temperature by reducing the frequency as suggested by Pavel Rudko.

    Could you have a try to insert a delay between each kernel processing? Could you monitor the temperature and frequency in parallel of your execution?

    You could try/adapt the few scripts suggested in Why performance is higher on LITTLE cores? - Architectures and Processors forum - Support forums - Arm Community

    Best Regards,

    Willy

Reply
  • Hi hterrolle,

    If each OpenCL kernel process the same amount of instruction/data, and you execute them directly one after the other, and the time increase at each kernel execution, it may be related to temperature of your device.

    Under Linux, if the device reach a "high" temperature, the OS will throttle the CPU performance trying to limit the temperature by reducing the frequency as suggested by Pavel Rudko.

    Could you have a try to insert a delay between each kernel processing? Could you monitor the temperature and frequency in parallel of your execution?

    You could try/adapt the few scripts suggested in Why performance is higher on LITTLE cores? - Architectures and Processors forum - Support forums - Arm Community

    Best Regards,

    Willy

Children
No data