Hi all,
I want to use printf to print some values to debug kernel function. Does anyone know if Adreno GPU 530 supports printf extension?
I use "clGetDeviceInfo(.., CL_DEVICE_EXTENSIONS, ..)" to get adreno 530 supported extensions and have the following results.
cl_khr_3d_image_writes cl_img_egl_image cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_egl_event cl_khr_egl_image cl_khr_fp16 cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_image2d_from_buffer cl_khr_mipmap_image cl_khr_srgb_image_writes cl_khr_subgroups cl_qcom_create_buffer_from_image cl_qcom_ext_host_ptr cl_qcom_ion_host_ptr cl_qcom_perf_hint cl_qcom_read_image_2x2 cl_qcom_android_native_buffer_host_ptr cl_qcom_compressed_yuv_image_read cl_qcom_compressed_image
And i can't find any keyword about printf. Does that mean 530 can't use printf in kernel function to debug? And what way I could use to debug my kernel fuctions? (Platform: XIAOMI 5, Android 7, by Android ADB SHELL)
Thanks for any replies.
The Adreno 530 OpenCL implementation supports kernel printf. The output is to stdout when run from an adb shell.
-rick
Hi Rick,
Thank you so much for your help.
But I couldn't find what pragma extension can enable printf funtion in Adreno 530 GPU. I only know AMD cl_amd_printf extension and NVIDIA cl_nv_printf extension but don't know Adreno 530 GPU printf extension format. Is that cl_qlcom_printf or others?
By the way, I also want to know if 530 OpenCL could support double precision and by using what extension to enable? Where could I find detailed informations about 530 OpenCL? I have adreno sdk but there are samples about opengles mostly.
Thanks again for your time! Waiting for your reply :)
I have found that I can use printf directly in my kernel functions to print kernel values. :) Thank you
But i still want to know if 530 support double precision.
I see you got printf working on the 530. The kernel printf function is builtin to OpenCL 1.2 and greater.
The Adreno 530 does not support the double precision (cl_khr_fp64) extension.
-rick