Forums - OpenCL cl_qcom_limited_printf extension not working on GPU kernel

3 posts / 0 new
Last post
OpenCL cl_qcom_limited_printf extension not working on GPU kernel
alanh
Join Date: 16 Dec 13
Posts: 2
Posted: Thu, 2014-01-02 10:11

I cannot seem to get the cl_qcom_limited_printf to work.  Can anyone post a working example?

static const char *gKernelSource =

 

#ifdef GPU_OPENCL

"#pragma OPENCL EXTENSION cl_qcom_limited_printf : enable\n"

#endif

 

"__kernel void __polynomialExpansion(__global float * dst,"

...
 
 
E/PeakMotion-OpenCL(11491): Error in kernel: BC-src-code:1:26: error: pragma opencl extension not supported
E/PeakMotion-OpenCL(11491):  #pragma OPENCL EXTENSION cl_qcom_limited_printf : enable
E/PeakMotion-OpenCL(11491):                           ^
E/PeakMotion-OpenCL(11491): BC-src-code:2:984: error: missing terminating '"' character
 

 

  • Up0
  • Down0
alanh
Join Date: 16 Dec 13
Posts: 2
Posted: Thu, 2014-01-02 10:24

After a little more experimentation it seems the cl_khr_* extensions are supported but all of the others cannot be enabled.

Here is the extensions string provided by the runtime:

I/PeakMotion-OpenCL(11962): Device 0 Extensions (331): cl_img_egl_image cl_khr_byte_addressable_store cl_khr_egl_event 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_qcom_create_buffer_from_image cl_qcom_ext_host_ptr cl_qcom_ion_host_ptr cl_qcom_limited_printf 
 
  • Up0
  • Down0
eyalhir74
Join Date: 7 Feb 13
Posts: 6
Posted: Sun, 2014-01-05 04:16

Hi,

  I've noticed the same as well for the printf stuff.

  For some reason though, when enabling the cl_khr_local_int32_base_atomics, the kernel compiles but the results

are wrong (global atomics are fine).

 

eyal

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.