OpenCL Hello World

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

OpenCL Hello World

OpenCL Hello World

Abstract


This is a small tutorial about running a simple OpenCL application in

an i.MX6Q. It covers a very small introduction to OpenCL, the explanation

of the code and how to compile and run it.

 

Requirements

 

Any i.MX6Q board.

Linux BSP with the gpu-viv-bin-mx6q package (for instructions on how to build the BSP, check the BSP Users Guide)

 

OpenCL overview

 

OpenCL allows any program to use the GPGPU features of the GC2000 (General-Purpose Computing on Graphics Processing Units) that means to use the i.MX6Q GPU processing power in any program.

 

OpenCL uses kernels which are functions that can be executed in the GPU. These functions must be written in a C99 like code. In our current GPU there

is no scheduling so each kernel will execute in a FIFO fashion. iMx6Q GPU is OpenCL 1.1 EP conformant.


The Code

 

The example provided here performs a simple addition of arrays in the GPU. The header needed to use openCL is cl.h and is under /usr/include/CL in your BSP

rootfs when you install the gpu-viv-bin-mx6q package. The header is typically included like this: #include <CL/cl.h> The libraries needed to link the program are libGAL.so and libOpenCL.so those are under /usr/lib in your BSP rootfs.

 

For details on the OpenCL API check the khronos page: http://www.khronos.org/opencl/


Our kernel source is as follows:

__kernel void VectorAdd(__global int* c, __global int* a,__global int* b)

{

     // Index of the elements to add

     unsigned int n = get_global_id(0);

     // Sum the nth element of vectors a and b and store in c

     c[n] = a[n] + b[n];

}

The kernel is declared with the signature

    __kernel void VectorAdd(__global int* c, __global int* a,__global int* b).

 

This takes vectors a and b as arguments adds them and stores the result in

the vector c. It looks like a normal C99 method except for the keywords kernel

and global. kernel tells the compiler this function is a kernel, global tells the

compiler this attributes are of global address space.

get_global_id built-in function

 

This function will tell us to which index of the vector this kernel corresponds

to. And in the last line the vectors are added. Below is the full source code

commented.

//************************************************************

// Demo OpenCL application to compute a simple vector addition

// computation between 2 arrays on the GPU

// ************************************************************

#include <stdio.h>

#include <stdlib.h>

#include <CL/cl.h>

//

// OpenCL source code

const char* OpenCLSource[] = {

"__kernel void VectorAdd(__global int* c, __global int* a,__global int* b)",

"{",

" // Index of the elements to add \n",

" unsigned int n = get_global_id(0);",

" // Sum the nth element of vectors a and b and store in c \n",

" c[n] = a[n] + b[n];",

"}"

};

// Some interesting data for the vectors

int InitialData1[20] = {37,50,54,50,56,0,43,43,74,71,32,36,16,43,56,100,50,25,15,17};

int InitialData2[20] = {35,51,54,58,55,32,36,69,27,39,35,40,16,44,55,14,58,75,18,15};

// Number of elements in the vectors to be added

#define SIZE 100

// Main function

// ************************************************************

int main(int argc, char **argv)

{

     // Two integer source vectors in Host memory

     int HostVector1[SIZE], HostVector2[SIZE];

     //Output Vector

     int HostOutputVector[SIZE];

     // Initialize with some interesting repeating data

     for(int c = 0; c < SIZE; c++)

     {

          HostVector1[c] = InitialData1[c%20];

          HostVector2[c] = InitialData2[c%20];

          HostOutputVector[c] = 0;

     }

     //Get an OpenCL platform

     cl_platform_id cpPlatform;

     clGetPlatformIDs(1, &cpPlatform, NULL);

     // Get a GPU device

     cl_device_id cdDevice;

     clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_GPU, 1, &cdDevice, NULL);

     char cBuffer[1024];

     clGetDeviceInfo(cdDevice, CL_DEVICE_NAME, sizeof(cBuffer), &cBuffer, NULL);

     printf("CL_DEVICE_NAME: %s\n", cBuffer);

     clGetDeviceInfo(cdDevice, CL_DRIVER_VERSION, sizeof(cBuffer), &cBuffer, NULL);

     printf("CL_DRIVER_VERSION: %s\n\n", cBuffer);

     // Create a context to run OpenCL enabled GPU

     cl_context GPUContext = clCreateContextFromType(0, CL_DEVICE_TYPE_GPU, NULL, NULL, NULL);

     // Create a command-queue on the GPU device

     cl_command_queue cqCommandQueue = clCreateCommandQueue(GPUContext, cdDevice, 0, NULL);

     // Allocate GPU memory for source vectors AND initialize from CPU memory

     cl_mem GPUVector1 = clCreateBuffer(GPUContext, CL_MEM_READ_ONLY |

     CL_MEM_COPY_HOST_PTR, sizeof(int) * SIZE, HostVector1, NULL);

     cl_mem GPUVector2 = clCreateBuffer(GPUContext, CL_MEM_READ_ONLY |

     CL_MEM_COPY_HOST_PTR, sizeof(int) * SIZE, HostVector2, NULL);

     // Allocate output memory on GPU

     cl_mem GPUOutputVector = clCreateBuffer(GPUContext, CL_MEM_WRITE_ONLY,

     sizeof(int) * SIZE, NULL, NULL);

     // Create OpenCL program with source code

     cl_program OpenCLProgram = clCreateProgramWithSource(GPUContext, 7, OpenCLSource, NULL, NULL);

     // Build the program (OpenCL JIT compilation)

     clBuildProgram(OpenCLProgram, 0, NULL, NULL, NULL, NULL);

     // Create a handle to the compiled OpenCL function (Kernel)

     cl_kernel OpenCLVectorAdd = clCreateKernel(OpenCLProgram, "VectorAdd", NULL);

     // In the next step we associate the GPU memory with the Kernel arguments

     clSetKernelArg(OpenCLVectorAdd, 0, sizeof(cl_mem), (void*)&GPUOutputVector);

     clSetKernelArg(OpenCLVectorAdd, 1, sizeof(cl_mem), (void*)&GPUVector1);

     clSetKernelArg(OpenCLVectorAdd, 2, sizeof(cl_mem), (void*)&GPUVector2);

     // Launch the Kernel on the GPU

     // This kernel only uses global data

     size_t WorkSize[1] = {SIZE}; // one dimensional Range

     clEnqueueNDRangeKernel(cqCommandQueue, OpenCLVectorAdd, 1, NULL,

     WorkSize, NULL, 0, NULL, NULL);

     // Copy the output in GPU memory back to CPU memory

     clEnqueueReadBuffer(cqCommandQueue, GPUOutputVector, CL_TRUE, 0,

     SIZE * sizeof(int), HostOutputVector, 0, NULL, NULL);

     // Cleanup

     clReleaseKernel(OpenCLVectorAdd);

     clReleaseProgram(OpenCLProgram);

     clReleaseCommandQueue(cqCommandQueue);

     clReleaseContext(GPUContext);

     clReleaseMemObject(GPUVector1);

     clReleaseMemObject(GPUVector2);

     clReleaseMemObject(GPUOutputVector);

     for( int i =0 ; i < SIZE; i++)

          printf("[%d + %d = %d]\n",HostVector1[i], HostVector2[i], HostOutputVector[i]);

     return 0;

}


How to compile in Host

 

Get to your ltib folder and run

$./ltib m shell

This way you will be using the cross compiler ltib uses and the default include and lib directories will be the ones in your bsp. Then run

LTIB> gcc cl_sample.c -lGAL -lOpenCL -o cl_sample.


How to run in the i.MX6Q

 

Insert the GPU module

root@freescale/home/user $ modprobe galcore

Copy the compiled CL program and then run

root@freescale /home/user$ ./cl_sample


References

 

[1] ttp://www.khronos.org/opencl/

Original Attachment has been moved to: libOpenCL.so.zip

Original Attachment has been moved to: libCLC_Android.so.zip

Original Attachment has been moved to: libOpenCL_Android.so.zip

Original Attachment has been moved to: libCLC.so.zip

Labels (2)
Tags (2)
Comments

I am going to check for more information about CL on Android and let you know soon as possible.

Regards,

Andre

Hi,spark zh:

are you solve this error? I meet this error on imx8 too, can you give me some advices?

Hi ,sateeshpedagadi,

Have you solved this error? I meet this erro on imx8,Can you give me some advices?

%3CLINGO-SUB%20id%3D%22lingo-sub-1113358%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EOpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113358%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3EAbstract%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3E%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThis%20is%20a%20small%20tutorial%20about%20running%20a%20simple%20OpenCL%20application%20in%3C%2FP%3E%3CP%3Ean%20i.MX6Q.%20It%20covers%20a%20very%20small%20introduction%20to%20OpenCL%2C%20the%20explanation%3C%2FP%3E%3CP%3Eof%20the%20code%20and%20how%20to%20compile%20and%20run%20it.%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3ERequirements%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAny%20i.MX6Q%20board.%3C%2FP%3E%3CP%3ELinux%20BSP%20with%20the%20gpu-viv-bin-mx6q%20package%20(for%20instructions%20on%20how%20to%20build%20the%20BSP%2C%20check%20the%20BSP%20Users%20Guide)%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3EOpenCL%20overview%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EOpenCL%20allows%20any%20program%20to%20use%20the%20GPGPU%20features%20of%20the%20GC2000%20(General-Purpose%20Computing%20on%20Graphics%20Processing%20Units)%20that%20means%20to%20use%20the%20i.MX6Q%20GPU%20processing%20power%20in%20any%20program.%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EOpenCL%20uses%20kernels%20which%20are%20functions%20that%20can%20be%20executed%20in%20the%20GPU.%20These%20functions%20must%20be%20written%20in%20a%20C99%20like%20code.%20In%20our%20current%20GPU%20there%3C%2FP%3E%3CP%3Eis%20no%20scheduling%20so%20each%20kernel%20will%20execute%20in%20a%20FIFO%20fashion.%20iMx6Q%20GPU%20is%20OpenCL%201.1%20EP%20conformant.%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3E%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3EThe%20Code%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20example%20provided%20here%20performs%20a%20simple%20addition%20of%20arrays%20in%20the%20GPU.%20The%20header%20needed%20to%20use%20openCL%20is%20cl.h%20and%20is%20under%20%2Fusr%2Finclude%2FCL%20in%20your%20BSP%3C%2FP%3E%3CP%3Erootfs%20when%20you%20install%20the%20gpu-viv-bin-mx6q%20package.%20The%20header%20is%20typically%20included%20like%20this%3A%20%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%23include%20%3CCL%3E%20%3C%2FCL%3E%3C%2FSPAN%3EThe%20libraries%20needed%20to%20link%20the%20program%20are%20libGAL.so%20and%20libOpenCL.so%20those%20are%20under%20%2Fusr%2Flib%20in%20your%20BSP%20rootfs.%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EFor%20details%20on%20the%20OpenCL%20API%20check%20the%20%3CSPAN%3Ekhronos%20page%3A%20%3C%2FSPAN%3E%3CA%20class%3D%22jive-link-external-small%22%20href%3D%22http%3A%2F%2Fwww.khronos.org%2Fopencl%2F%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Ehttp%3A%2F%2Fwww.khronos.org%2Fopencl%2F%3C%2FA%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EOur%20kernel%20source%20is%20as%20follows%3A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E__kernel%20void%20VectorAdd(__global%20int*%20c%2C%20__global%20int*%20a%2C__global%20int*%20b)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Index%20of%20the%20elements%20to%20add%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20unsigned%20int%20n%20%3D%20get_global_id(0)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Sum%20the%20nth%20element%20of%20vectors%20a%20and%20b%20and%20store%20in%20c%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20c%5Bn%5D%20%3D%20a%5Bn%5D%20%2B%20b%5Bn%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThe%20kernel%20is%20declared%20with%20the%20signature%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%20__kernel%20void%20VectorAdd(__global%20int*%20c%2C%20__global%20int*%20a%2C__global%20int*%20b).%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20takes%20vectors%20a%20and%20b%20as%20arguments%20adds%20them%20and%20stores%20the%20result%20in%3C%2FP%3E%3CP%3Ethe%20vector%20c.%20It%20looks%20like%20a%20normal%20C99%20method%20except%20for%20the%20keywords%20kernel%3C%2FP%3E%3CP%3Eand%20global.%20kernel%20tells%20the%20compiler%20this%20function%20is%20a%20kernel%2C%20global%20tells%20the%3C%2FP%3E%3CP%3Ecompiler%20this%20attributes%20are%20of%20global%20address%20space.%3C%2FP%3E%3CP%3Eget_global_id%20built-in%20function%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20function%20will%20tell%20us%20to%20which%20index%20of%20the%20vector%20this%20kernel%20corresponds%3C%2FP%3E%3CP%3Eto.%20And%20in%20the%20last%20line%20the%20vectors%20are%20added.%20Below%20is%20the%20full%20source%20code%3C%2FP%3E%3CP%3Ecommented.%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F************************************************************%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%20Demo%20OpenCL%20application%20to%20compute%20a%20simple%20vector%20addition%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%20computation%20between%202%20arrays%20on%20the%20GPU%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%20************************************************************%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%23include%20%3CSTDIO.H%3E%3C%2FSTDIO.H%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%23include%20%3CSTDLIB.H%3E%3C%2FSTDLIB.H%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%23include%20%3CCL%3E%3C%2FCL%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%20OpenCL%20source%20code%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3Econst%20char*%20OpenCLSource%5B%5D%20%3D%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%22__kernel%20void%20VectorAdd(__global%20int*%20c%2C%20__global%20int*%20a%2C__global%20int*%20b)%22%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%22%7B%22%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%22%20%2F%2F%20Index%20of%20the%20elements%20to%20add%20%5Cn%22%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%22%20unsigned%20int%20n%20%3D%20get_global_id(0)%3B%22%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%22%20%2F%2F%20Sum%20the%20nth%20element%20of%20vectors%20a%20and%20b%20and%20store%20in%20c%20%5Cn%22%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%22%20c%5Bn%5D%20%3D%20a%5Bn%5D%20%2B%20b%5Bn%5D%3B%22%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%22%7D%22%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%7D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%20Some%20interesting%20data%20for%20the%20vectors%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3Eint%20InitialData1%5B20%5D%20%3D%20%7B37%2C50%2C54%2C50%2C56%2C0%2C43%2C43%2C74%2C71%2C32%2C36%2C16%2C43%2C56%2C100%2C50%2C25%2C15%2C17%7D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3Eint%20InitialData2%5B20%5D%20%3D%20%7B35%2C51%2C54%2C58%2C55%2C32%2C36%2C69%2C27%2C39%2C35%2C40%2C16%2C44%2C55%2C14%2C58%2C75%2C18%2C15%7D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%20Number%20of%20elements%20in%20the%20vectors%20to%20be%20added%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%23define%20SIZE%20100%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%20Main%20function%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%2F%2F%20************************************************************%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3Eint%20main(int%20argc%2C%20char%20**argv)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Two%20integer%20source%20vectors%20in%20Host%20memory%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20int%20HostVector1%5BSIZE%5D%2C%20HostVector2%5BSIZE%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2FOutput%20Vector%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20int%20HostOutputVector%5BSIZE%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Initialize%20with%20some%20interesting%20repeating%20data%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20for(int%20c%20%3D%200%3B%20c%20%26lt%3B%20SIZE%3B%20c%2B%2B)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20HostVector1%5Bc%5D%20%3D%20InitialData1%5Bc%2520%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20HostVector2%5Bc%5D%20%3D%20InitialData2%5Bc%2520%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20HostOutputVector%5Bc%5D%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2FGet%20an%20OpenCL%20platform%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_platform_id%20cpPlatform%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clGetPlatformIDs(1%2C%20%26amp%3BcpPlatform%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Get%20a%20GPU%20device%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_device_id%20cdDevice%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clGetDeviceIDs(cpPlatform%2C%20CL_DEVICE_TYPE_GPU%2C%201%2C%20%26amp%3BcdDevice%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20char%20cBuffer%5B1024%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clGetDeviceInfo(cdDevice%2C%20CL_DEVICE_NAME%2C%20sizeof(cBuffer)%2C%20%26amp%3BcBuffer%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20printf(%22CL_DEVICE_NAME%3A%20%25s%5Cn%22%2C%20cBuffer)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clGetDeviceInfo(cdDevice%2C%20CL_DRIVER_VERSION%2C%20sizeof(cBuffer)%2C%20%26amp%3BcBuffer%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20printf(%22CL_DRIVER_VERSION%3A%20%25s%5Cn%5Cn%22%2C%20cBuffer)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Create%20a%20context%20to%20run%20OpenCL%20enabled%20GPU%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_context%20GPUContext%20%3D%20clCreateContextFromType(0%2C%20CL_DEVICE_TYPE_GPU%2C%20NULL%2C%20NULL%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Create%20a%20command-queue%20on%20the%20GPU%20device%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_command_queue%20cqCommandQueue%20%3D%20clCreateCommandQueue(GPUContext%2C%20cdDevice%2C%200%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Allocate%20GPU%20memory%20for%20source%20vectors%20AND%20initialize%20from%20CPU%20memory%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_mem%20GPUVector1%20%3D%20clCreateBuffer(GPUContext%2C%20CL_MEM_READ_ONLY%20%7C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CL_MEM_COPY_HOST_PTR%2C%20sizeof(int)%20*%20SIZE%2C%20HostVector1%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_mem%20GPUVector2%20%3D%20clCreateBuffer(GPUContext%2C%20CL_MEM_READ_ONLY%20%7C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CL_MEM_COPY_HOST_PTR%2C%20sizeof(int)%20*%20SIZE%2C%20HostVector2%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Allocate%20output%20memory%20on%20GPU%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_mem%20GPUOutputVector%20%3D%20clCreateBuffer(GPUContext%2C%20CL_MEM_WRITE_ONLY%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20sizeof(int)%20*%20SIZE%2C%20NULL%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Create%20OpenCL%20program%20with%20source%20code%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_program%20OpenCLProgram%20%3D%20clCreateProgramWithSource(GPUContext%2C%207%2C%20OpenCLSource%2C%20NULL%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Build%20the%20program%20(OpenCL%20JIT%20compilation)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clBuildProgram(OpenCLProgram%2C%200%2C%20NULL%2C%20NULL%2C%20NULL%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Create%20a%20handle%20to%20the%20compiled%20OpenCL%20function%20(Kernel)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl_kernel%20OpenCLVectorAdd%20%3D%20clCreateKernel(OpenCLProgram%2C%20%22VectorAdd%22%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20In%20the%20next%20step%20we%20associate%20the%20GPU%20memory%20with%20the%20Kernel%20arguments%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clSetKernelArg(OpenCLVectorAdd%2C%200%2C%20sizeof(cl_mem)%2C%20(void*)%26amp%3BGPUOutputVector)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clSetKernelArg(OpenCLVectorAdd%2C%201%2C%20sizeof(cl_mem)%2C%20(void*)%26amp%3BGPUVector1)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clSetKernelArg(OpenCLVectorAdd%2C%202%2C%20sizeof(cl_mem)%2C%20(void*)%26amp%3BGPUVector2)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Launch%20the%20Kernel%20on%20the%20GPU%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20This%20kernel%20only%20uses%20global%20data%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20size_t%20WorkSize%5B1%5D%20%3D%20%7BSIZE%7D%3B%20%2F%2F%20one%20dimensional%20Range%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clEnqueueNDRangeKernel(cqCommandQueue%2C%20OpenCLVectorAdd%2C%201%2C%20NULL%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20WorkSize%2C%20NULL%2C%200%2C%20NULL%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Copy%20the%20output%20in%20GPU%20memory%20back%20to%20CPU%20memory%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clEnqueueReadBuffer(cqCommandQueue%2C%20GPUOutputVector%2C%20CL_TRUE%2C%200%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20SIZE%20*%20sizeof(int)%2C%20HostOutputVector%2C%200%2C%20NULL%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2F%20Cleanup%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clReleaseKernel(OpenCLVectorAdd)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clReleaseProgram(OpenCLProgram)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clReleaseCommandQueue(cqCommandQueue)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clReleaseContext(GPUContext)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clReleaseMemObject(GPUVector1)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clReleaseMemObject(GPUVector2)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clReleaseMemObject(GPUOutputVector)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20for(%20int%20i%20%3D0%20%3B%20i%20%26lt%3B%20SIZE%3B%20i%2B%2B)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20printf(%22%5B%25d%20%2B%20%25d%20%3D%20%25d%5D%5Cn%22%2CHostVector1%5Bi%5D%2C%20HostVector2%5Bi%5D%2C%20HostOutputVector%5Bi%5D)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3E%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3EHow%20to%20compile%20in%20Host%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EGet%20to%20your%20ltib%20folder%20and%20run%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%24.%2Fltib%20m%20shell%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThis%20way%20you%20will%20be%20using%20the%20cross%20compiler%20ltib%20uses%20and%20the%20default%20include%20and%20lib%20directories%20will%20be%20the%20ones%20in%20your%20bsp.%20Then%20run%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3ELTIB%26gt%3B%20gcc%20cl_sample.c%20-lGAL%20-lOpenCL%20-o%20cl_sample.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3EHow%20to%20run%20in%20the%20i.MX6Q%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3EInsert%20the%20GPU%20module%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3Eroot%40freescale%2Fhome%2Fuser%20%24%20modprobe%20galcore%3C%2FSPAN%3E%3C%2FP%3E%3CP%3ECopy%20the%20compiled%20CL%20program%20and%20then%20run%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'courier%20new'%2C%20courier%3B%22%3Eroot%40freescale%20%2Fhome%2Fuser%24%20.%2Fcl_sample%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3E%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2014pt%3B%22%3E%3CSTRONG%3EReferences%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%5B1%5D%20ttp%3A%2F%2F%3CA%20href%3D%22http%3A%2F%2Fwww.khronos.org%2Fopencl%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ewww.khronos.org%2Fopencl%2F%3C%2FA%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EOriginal%20Attachment%20has%20been%20moved%20to%3A%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-339904%22%20target%3D%22_blank%22%3ElibOpenCL.so.zip%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EOriginal%20Attachment%20has%20been%20moved%20to%3A%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-339904%22%20target%3D%22_blank%22%3ElibCLC_Android.so.zip%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EOriginal%20Attachment%20has%20been%20moved%20to%3A%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-339904%22%20target%3D%22_blank%22%3ElibOpenCL_Android.so.zip%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EOriginal%20Attachment%20has%20been%20moved%20to%3A%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-339904%22%20target%3D%22_blank%22%3ElibCLC.so.zip%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1113358%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EGraphics%20%26amp%3B%20Display%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ei.MX6_All%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113411%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113411%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%2Csateeshpedagadi%2C%3C%2FP%3E%3CP%3EHave%20you%20solved%20this%20error%3F%20I%20meet%20this%20erro%20on%20imx8%2CCan%20you%20give%20me%20some%20advices%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113410%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113410%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2Cspark%20zh%3A%3C%2FP%3E%3CP%3Eare%20you%20solve%20this%20error%3F%20I%20meet%20this%20error%20on%20imx8%20too%2C%20can%20you%20give%20me%20some%20advices%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113409%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113409%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20am%20going%20to%20check%20for%20more%20information%20about%20CL%20on%20Android%20and%20let%20you%20know%20soon%20as%20possible.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ERegards%2C%3C%2FP%3E%3CP%3EAndre%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113408%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113408%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Andre%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI've%20met%20exactly%20same%20problem%20when%20trying%20to%20run%20OpenCL%20Hello%20world%20on%20i.MX6q%20Android%206.0%20BSP(kernel%204.1.15).%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EWhen%20I%20create%20Android.mk%20I%20will%20need%20to%20include%26nbsp%3B%3CSPAN%3ElibVSC.so(using%20objectdump%20figured%26nbsp%3Bit%20out)%20in%20the%20dependency%2C%20otherwise%20it%20will%20fail%20to%20find%20gcXXXXX(CANNOT%20LINK%20EXECUTABLE%3A%20cannot%20locate%20symbol%20%22gcSHADER_Destroy%22%20referenced%20by%20%22%2Fsystem%2Flib%2FlibOpenCL.so%22).%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ELOCAL_SHARED_LIBRARIES%20%3A%3D%20%5C%3CBR%20%2F%3E%20libGAL%20%5C%3CBR%20%2F%3E%20libVSC%20%5C%3CBR%20%2F%3E%20libOpenCL%20%5C%3CBR%20%2F%3E%20libCLC%20%5C%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EAfter%20adding%20libVSC%2C%20the%20host%20executable%20compiled%20OK%2C%20so%20that%20I%20can%20run%20it%20on%20iMX6%2C%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EHowever%2C%20if%20I%20run%20it%20on%20i.MX6%20I%20will%20get%20a%20%22Segmentation%20fault%22%20when%20calling%26nbsp%3BclBuildProgram%2C%20and%20I%20found%20something%20like%20this%20in%20logcat%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E01-01%2018%3A15%3A21.069%203478%203478%20F%20libc%20%3A%20Fatal%20signal%2011%20(SIGSEGV)%2C%20code%202%2C%20fault%20addr%200xb6dd585c%20in%20tid%203478%20(opencl)%3CBR%20%2F%3E01-01%2018%3A15%3A21.171%20218%20218%20F%20DEBUG%20%3A%20***%20***%20***%20***%20***%20***%20***%20***%20***%20***%20***%20***%20***%20***%20***%20***%3CBR%20%2F%3E01-01%2018%3A15%3A21.171%20218%20218%20F%20DEBUG%20%3A%20Build%20fingerprint%3A%20'Ikegps%2Forca%2Forca%3A6.0.1%2F0.0.1-rc0%2F20171130%3Aeng%2Frelease-keys'%3CBR%20%2F%3E01-01%2018%3A15%3A21.171%20218%20218%20F%20DEBUG%20%3A%20Revision%3A%20'0'%3CBR%20%2F%3E01-01%2018%3A15%3A21.171%20218%20218%20F%20DEBUG%20%3A%20ABI%3A%20'arm'%3CBR%20%2F%3E01-01%2018%3A15%3A21.171%20218%20218%20F%20DEBUG%20%3A%20pid%3A%203478%2C%20tid%3A%203478%2C%20name%3A%20opencl%20%26gt%3B%26gt%3B%26gt%3B%20opencl%20%26lt%3B%26lt%3B%26lt%3B%3CBR%20%2F%3E01-01%2018%3A15%3A21.172%20218%20218%20F%20DEBUG%20%3A%20signal%2011%20(SIGSEGV)%2C%20code%202%20(SEGV_ACCERR)%2C%20fault%20addr%200xb6dd585c%3CBR%20%2F%3E01-01%2018%3A15%3A21.177%20218%20218%20F%20DEBUG%20%3A%20r0%20b6a7d748%20r1%20b6ddcdd3%20r2%2000000001%20r3%2000000069%3CBR%20%2F%3E01-01%2018%3A15%3A21.177%20218%20218%20F%20DEBUG%20%3A%20r4%20b6a7d704%20r5%20ae4fc0d4%20r6%20b6dd585c%20r7%2000000000%3CBR%20%2F%3E01-01%2018%3A15%3A21.177%20218%20218%20F%20DEBUG%20%3A%20r8%20beb20550%20r9%20b6ddcdc8%20sl%200000004f%20fp%200000000e%3CBR%20%2F%3E01-01%2018%3A15%3A21.177%20218%20218%20F%20DEBUG%20%3A%20ip%2000000064%20sp%20beb20448%20lr%20b6e66057%20pc%20b6e66066%20cpsr%2000010030%3CBR%20%2F%3E01-01%2018%3A15%3A21.181%20542%20612%20W%20NativeCrashListener%3A%20Couldn't%20find%20ProcessRecord%20for%20pid%203478%3CBR%20%2F%3E01-01%2018%3A15%3A21.196%20218%20218%20F%20DEBUG%20%3A%20%3CBR%20%2F%3E01-01%2018%3A15%3A21.196%20218%20218%20F%20DEBUG%20%3A%20backtrace%3A%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20E%20DEBUG%20%3A%20AM%20write%20failed%3A%20Broken%20pipe%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2300%20pc%2000015066%20%2Fsystem%2Flib%2FlibVSC.so%20(gcSHADER_AddAttribute%2B209)%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2301%20pc%2000054f51%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2302%20pc%2000026e31%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2303%20pc%200002722f%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2304%20pc%20000d319d%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2305%20pc%20000f5913%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2306%20pc%2000046e0d%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2307%20pc%2000018aa1%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2308%20pc%200003a7b7%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2309%20pc%2000044d67%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2310%20pc%2000018a65%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2311%20pc%200003ed03%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2312%20pc%2000018435%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2313%20pc%200003eba9%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2314%20pc%2000018435%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2315%20pc%200001711f%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2316%20pc%2000017497%20%2Fsystem%2Flib%2FlibCLC.so%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2317%20pc%2000015f0f%20%2Fsystem%2Flib%2FlibCLC.so%20(gcCompileKernel%2B42)%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2318%20pc%200000bbb9%20%2Fsystem%2Flib%2FlibOpenCL.so%20(clBuildProgram%2B324)%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2319%20pc%2000000da1%20%2Fsystem%2Fbin%2Fopencl%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2320%20pc%2000017365%20%2Fsystem%2Flib%2Flibc.so%20(__libc_init%2B44)%3CBR%20%2F%3E01-01%2018%3A15%3A21.197%20218%20218%20F%20DEBUG%20%3A%20%2321%20pc%2000001060%20%2Fsystem%2Fbin%2Fopencl%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EWhich%20got%20a%26nbsp%3B%3CSPAN%3Efault%20addr%20when%20calling%26nbsp%3B%3CSPAN%3EgcSHADER_AddAttribute....%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3E%20!I%20am%20not%20sure%20if%20the%20libCLC_Android.so%20and%26nbsp%3B%3CSPAN%3ElibOpenCL_%3CSPAN%3EAndroid%3C%2FSPAN%3E.so%20here%20is%20still%20usable%20for%20newer%20version%20kernel%2FAndroid%20BSP.%20If%20not%2C%20would%20somebody%20can%20help%20to%20build%20a%20version%20suits%3F%26nbsp%3B%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3EI%20am%20going%20to%20try%20the%20Linux%204.1.15%20BSP%2C%20But%20I%20doubt%20it%20is%20feasible%20to%20pull%20out%20the%20so%20from%20Linux%20build%20use%20as%20it%20is%20in%20Android%3F%20I%20known%20Android%20has%20different%20libc%2C%20etc.%26nbsp%3B%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3EWould%20be%20much%20appreciated%26nbsp%3Bif%20you%20could%20provide%20any%20information.%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3ECode%20is%20here%20if%20you'd%20like%20to%20have%20a%20look%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2Fsuyouxin%2Fopencl-test-imx6%2Fblob%2Fmaster%2Fmain.c%22%20title%3D%22https%3A%2F%2Fgithub.com%2Fsuyouxin%2Fopencl-test-imx6%2Fblob%2Fmaster%2Fmain.c%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Eopencl-test-imx6%2Fmain.c%20at%20master%20%C2%B7%20suyouxin%2Fopencl-test-imx6%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3E%3CSPAN%3EYouxin%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113407%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113407%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIf%20anyone%20else%20comes%20across%20this%20problem%20in%20the%20future%2C%20I've%20managed%20to%20fix%20it%20for%20my%20case.%3C%2FP%3E%3CP%3EFirst%20thing%20to%20note%20is%20that%20libCLC.so%20does%20not%20have%20to%20be%20detected%20for%20the%20binary%20to%20run%20-%20if%20it%20can't%20find%20it%20clBuildProgram%20will%20just%20fail%20with%20no%20explanation%20as%20with%20the%20above%20symptom.%20You%20can%20check%20that%20libCLC.so%20is%20being%20found%20and%20read%20using%20something%20like%20strace.%3C%2FP%3E%3CP%3ESecond%2C%20even%20if%20libCLC.so%20is%20found%2C%20clBuildProgram%20will%20still%20quietly%20fail%20if%20libCLC's%20dependencies%20are%20not%20found.%20Use%20ldd%20libCLC.so%20to%20check.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EIn%20my%20case%20I%20needed%20to%20upgrade%20libstdc%2B%2B%20to%20%26gt%3B%3D%203.20%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EOlder%20vivante%20libraries%20may%20not%20have%20the%20same%20version%20dependencies%20-%20I've%20noticed%20quite%20a%20large%20amount%20of%20change%20and%20binary%20incompatibilities%20across%20different%20versions.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113406%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113406%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Eplease%2C%20share%20your%20CL%20code.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113405%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113405%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20don't%20see%20a%20way%20to%20attach%20files%20here%2C%20so%20I%20put%20together%20a%20basic%20file%20that%20demonstrates%20the%20problem%20on%20my%20end.%3C%2FP%3E%3CP%3EThe%20source%20below%20attempts%20to%20load%20and%20build%20a%20test.cl%20file%2C%20but%20fails%20on%20building%20and%20produces%20an%20empty%20build%20log%2C%20whether%20I%20give%20it%20a%20valid%20or%20invalid%20file.%3C%2FP%3E%3CP%3EI've%20been%20linking%20with%20the%20libraries%20from%20gpu_viv_bin%203.0.35%2C%20and%20to%20reiterate%2C%20I%20can%20successfully%20run%20this%20example%20and%20other%20OpenCL%20code%20in%20general%20on%20a%20newer%20kernel%20with%20newer%20gpu%20drivers%20-%20it's%20just%20my%20attempts%20to%20add%20opencl%20to%20an%20older%20setup%20that%20are%20failing.%3C%2FP%3E%3CP%3EI'm%20happy%20to%20provide%20a%20compiled%20binary%20and%20the%20specific%20libraries%20I'm%20using%20if%20there's%20a%20good%20way%20for%20me%20to%20send%20them%20over.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E----------------------------------------------%3C%2FP%3E%3CP%3E%23include%20%3CFSTREAM%3E%3C%2FFSTREAM%3E%3C%2FP%3E%3CP%3E%23include%20%3CIOSTREAM%3E%3C%2FIOSTREAM%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%23define%20__CL_ENABLE_EXCEPTIONS%3C%2FP%3E%3CP%3E%23include%20%3CCL%3E%3C%2FCL%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eint%20main(int%20argc%2C%20char**%20argv)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20std%3A%3Avector%26lt%3B%3Aplatform%26gt%3B%20platforms%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CP%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20std%3A%3Avector%26lt%3B%3Adevice%26gt%3B%20devices%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl%3A%3APlatform%3A%3Aget(%26amp%3Bplatforms)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20platforms%5B0%5D.getDevices(CL_DEVICE_TYPE_ALL%2C%20%26amp%3Bdevices)%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl%3A%3AContext%20context(devices)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl%3A%3ACommandQueue%20queue(context%2C%20devices%5B0%5D)%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20std%3A%3Aifstream%20source_file(%22test.cl%22)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20std%3A%3Astring%20source_string(std%3A%3Aistreambuf_iterator%3CCHAR%3E(source_file)%2C%20(std%3A%3Aistreambuf_iterator%3CCHAR%3E()))%3B%3C%2FCHAR%3E%3C%2FCHAR%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20const%20char*%20program_data%20%3D%20source_string.c_str()%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20size_t%20program_size%20%3D%20source_string.length()%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl%3A%3AProgram%3A%3ASources%20source(1%2C%20std%3A%3Amake_pair(program_data%2C%20program_size))%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20cl%3A%3AProgram%20program(context%2C%20source)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20try%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20program.build(devices)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20catch%20(cl%3A%3AError%20e)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20std%3A%3Acout%20%26lt%3B%26lt%3B%20%22OpenCL%20Error%3A%20%22%20%26lt%3B%26lt%3B%20e.what()%20%26lt%3B%26lt%3B%20%22%20%3A%20%22%20%26lt%3B%26lt%3B%20e.err()%20%26lt%3B%26lt%3B%20std%3A%3Aendl%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20std%3A%3Acout%20%26lt%3B%26lt%3B%20%22Build%20Log%3A%20%22%20%26lt%3B%26lt%3B%20program.getBuildInfo%3CCL_PROGRAM_BUILD_LOG%3E(devices%5B0%5D)%20%26lt%3B%26lt%3B%20std%3A%3Aendl%3B%3C%2FCL_PROGRAM_BUILD_LOG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%201%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20std%3A%3Acout%20%26lt%3B%26lt%3B%20%22Built%20Successfully%22%20%26lt%3B%26lt%3B%20std%3A%3Aendl%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%200%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113404%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113404%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ecan%20you%20share%20your%20application%20so%20I%20can%20test%20it%20on%20my%20side%20%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113403%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113403%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20have%20the%20exact%20same%20problem%20-%20clBuildProgram%20fails%20(-11)%20regardless%20of%20what%20I%20give%20it%2C%20whether%20an%20external%20file%20or%20a%20string%20in%20code.%20No%20build%20log%20is%20output.%20There%20doesn't%20seem%20to%20be%20any%20sort%20of%20libCLC%20dependency%20present%20-%20I%20can%20remove%20libCLC.so%20and%20nothing%20changes.%20Linker%20only%20appears%20to%20need%20libOpenCL%20and%20libGAL.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20am%20fairly%20confident%20I%20am%20doing%20the%20right%20things%20on%20the%20OpenCL%20side%2C%20as%20I've%20had%20OpenCL%20code%20running%20successfully%20on%20the%20same%20hardware%20on%20a%20different%20prebuilt%20image%2C%20and%20am%20trying%20to%20get%20opencl%20working%20on%20my%20custom%20ubuntu%20image%20now.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113402%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113402%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Keerecles%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eare%20you%20loading%20the%20kernel%20from%20an%20external%20file%20%3F%20if%20so%2C%20please%20check%20for%20extra%20spaces%20or%20lines%20on%20the%20file%2C%20it%20may%20cause%20this%20issue.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Echeers%2C%3C%2FP%3E%3CP%3Eandre%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113401%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113401%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ehi%20Andre%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20As%20to%20the%20function%20%22%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3EclBuildProgram()%3C%2FSPAN%3E%22%2C%20there%20is%20an%20error%20when%20it%20has%20been%20invoked.%20The%20error%20code%20is%20-11%20(%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20verdana%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3ECL_BUILD_PROGRAM_FAILURE%3C%2FSPAN%3E)%20.%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20When%20I%20use%20function%20%22clGetProgramBuildInfo%22%20to%20get%20the%20build%20log%20%2C%20an%20empty%20string%20was%20returned.%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20However%2C%20I%20checked%20the%20CL_PROGRAM_BUILD_STATUS%26nbsp%3B%20and%20the%20build%20status%20return%26nbsp%3B%20CL_BUILD_SUCCESS%20which%20means%20the%20last%20call%20to%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%22%20clBuildProgram%20()%22%20on%20the%26nbsp%3B%20specified%20program%20object%20for%20device%20was%20successful%2Cthus%20the%20build%20log%20should%20not%20be%20empty.%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Could%20you%20give%20some%20advice%20%3F%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3Eregards%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EKeerecles%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113400%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113400%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EAdditional%20information%20for%20OpenCL%20introduction%3A%20%3CA%20href%3D%22http%3A%2F%2Fimxcv.blogspot.com.br%2F2015%2F09%2Fintroduction-to-imx6qd-gc2000-vivante.html%22%20title%3D%22http%3A%2F%2Fimxcv.blogspot.com.br%2F2015%2F09%2Fintroduction-to-imx6qd-gc2000-vivante.html%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EComputer%20Vision%20on%20i.MX%20Processors%3A%20Introduction%20to%20i.MX6Q%2FD%20(GC2000)%20Vivante%20OpenCL%20Embedded%20Profile%3C%2FA%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113399%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113399%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Anushree%2C%3C%2FP%3E%3CP%3EHow%20about%20your%20result%3F%20Did%20you%20encounter%20this%20same%20issue%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EPS.%20My%20board%20is%20IMx6.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113398%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113398%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Spark%2C%3C%2FP%3E%3CP%3EI%20will%20try%20to%20reproduce%20an%20error%20and%20reply%20with%20correct%20libs.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3EAnushree%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113397%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113397%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSTRONG%3EHi%2C%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EI%20tried%20the%20sample%20on%20Android%204.2.2%20with%20libOpenCL_Android.so%20and%20libCLC_Android.so.%20Unfortunately%2C%20it%20failed%20at%20clBuildProgram(OpenCLProgram%2C%200%2C%20NULL%2C%20NULL%2C%20NULL%2C%20NULL).%20And%20the%20error%20message%20as%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%5B10%3A28%3A25%5DE%2FOGL-jni-Test(%203508)%3A%20Error%3A%20Building%20Program%20(clBuildingProgram)%3A-11%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%5B10%3A28%3A25%5DE%2FOGL-jni-Test(%203508)%3A%20error%20%3A%20Failed%20to%20open%20the%20temporary%20file%20.%2Fcl-0DB401.%20for%20writing%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EAny%20one%20met%20with%20it%3F%20Any%20idea%20for%20it%3F%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EIn%20addition%2C%20related%20source%20code%20as%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20status%20%3D%20clBuildProgram(OpenCLProgram%2C%200%2C%20NULL%2C%20NULL%2C%20NULL%2C%20NULL)%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20if%20(status%20!%3D%20CL_SUCCESS)%20%7B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LOGE(%22Error%3A%20Building%20Program%20(clBuildingProgram)%3A%25d%5Cn%22%2C(int)status)%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20size_t%20len%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20char%20buffer%5B8%20*%201024%5D%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20printf(%22Error%3A%20Failed%20to%20build%20program%20executable!%5Cn%22)%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20clGetProgramBuildInfo(OpenCLProgram%2C%20cdDevice%2C%20CL_PROGRAM_BUILD_LOG%2C%20sizeof(buffer)%2C%20buffer%2C%20%26amp%3Blen)%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LOGE(%22%25s%5Cn%22%2Cbuffer)%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2Feturn%20%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FEM%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113396%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113396%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Ankit%2C%20I%20answered%20in%20the%20other%20thread%20you%20created%20(with%20the%20file%20attached)%2C%20check%20it%20out.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Echeers%2C%3C%2FP%3E%3CP%3EAndre%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113395%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113395%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ESorry%20for%20the%20late%20response%2C%20I%20will%20check%20your%20code%20and%20let%20you%20know%20soon%20as%20I%20get%20any%20information.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eregards%2C%3C%2FP%3E%3CP%3Eandre%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113394%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113394%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Andre%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20response.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20have%20attached%20entire%20application%20on%20this%20link%3A%3A%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fmessage%2F484166%23484166%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.freescale.com%2Fmessage%2F484166%23484166%3C%2FA%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ewaiting%20for%20your%20response.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E-Ankit.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113393%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113393%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Ankit%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ecan%20you%20send%20your%20entire%20application%20so%20I%20can%20test%20it%20myself%20%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ethanks%2C%3C%2FP%3E%3CP%3EAndre%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113392%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113392%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%20style%3D%22font-family%3A%20'Helvetica%20Neue'%2C%20Helvetica%2C%20Arial%2C%20'Lucida%20Grande'%2C%20sans-serif%3B%20color%3A%20%233d3d3d%3B%22%3EHi%20Cao%2C%3C%2FP%3E%3CP%20style%3D%22font-family%3A%20'Helvetica%20Neue'%2C%20Helvetica%2C%20Arial%2C%20'Lucida%20Grande'%2C%20sans-serif%3B%20color%3A%20%233d3d3d%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20line-height%3A%201.5em%3B%22%3EI%20will%20try%20to%20reproduce%20this%20error%20and%20let%20you%20know.%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22font-family%3A%20'Helvetica%20Neue'%2C%20Helvetica%2C%20Arial%2C%20'Lucida%20Grande'%2C%20sans-serif%3B%20color%3A%20%233d3d3d%3B%22%3EAnushree%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113391%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113391%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20I%20ran%20this%20sample%20on%20Android%204.0.4%20with%20libOpenCL_Android.so%2C%20then%20I%20get%20the%20error%3A%20link_image%5B1936%5D%3A%26nbsp%3B%202599%20could%20not%20load%20needed%20library%20'libOpenCL.so'%20for%20'cl_sample'%20(reloc_library%5B1285%5D%3A%26nbsp%3B%202599%20cannot%20locate%20'gcGetUserDebugOption'...%20)CANNOT%20LINK%20EXECUTABLE.%20Do%20you%20have%20any%20guidance%20for%20compiling%20these%20lib%20for%20Android%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113390%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113390%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Michel%2C%20I%20copied%20the%20libOpenCL.so%20for%20android%20and%20ran%20this%20sample%20on%20android%204.0.4%20in%20the%20command%20line%2C%20then%20I%20get%20this%20error%3A%20link_image%5B1936%5D%3A%26nbsp%3B%202599%20could%20not%20load%20needed%20library%20'libOpenCL.so'%20for%20'cl_sample'%20(reloc_library%5B1285%5D%3A%26nbsp%3B%202599%20cannot%20locate%20'gcGetUserDebugOption'...%20)CANNOT%20LINK%20EXECUTABLE%20.%20Do%20you%20have%20any%20suggestion%3F%20Kind%20regards%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113389%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113389%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20I%20copied%20the%20libOpenCL.so%20for%20android%20and%20ran%20this%20sample%20on%20android%204.0.4%20in%20the%20command%20line%2C%20I%20get%20this%20error%3A%20%3CEM%3Elink_image%5B1936%5D%3A%26nbsp%3B%202599%20could%20not%20load%20needed%20library%20'libOpenCL.so'%20for%20'%3CSPAN%20style%3D%22color%3A%20%233d3d3d%3B%20font-family%3A%20'courier%20new'%2C%20courier%3B%22%3Ecl_sample%3C%2FSPAN%3E'%20(reloc_library%5B1285%5D%3A%26nbsp%3B%202599%20cannot%20locate%20'gcGetUserDebugOption'...%20)CANNOT%20LINK%20EXECUTABLE%20.%3C%2FEM%3E%20%3CSPAN%20style%3D%22color%3A%20%233d3d3d%3B%20font-family%3A%20'Helvetica%20Neue'%2C%20Helvetica%2C%20Arial%2C%20'Lucida%20Grande'%2C%20sans-serif%3B%22%3EDo%20you%20have%20any%20suggustion%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113388%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113388%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Sateesh%2C%3C%2FP%3E%3CP%3EPlease%20find%20the%20libOpenCL_Android.so%20and%20libCLC_Android.so%20in%20the%20attachment%20put%20them%20in%20%2Fsystem%2Flib%20folder.%3C%2FP%3E%3CP%3EPlease%20let%20me%20know%20if%20they%20are%20useful%20or%20not.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EAnushree%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113387%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113387%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20All%2C%3C%2FP%3E%3CP%3E%3CSTRONG%3EIs%20it%20possible%20to%20execute%20OpenCL%20'%20Kernel%20from%20Gstreamer%20Plugin%20during%20running%20Gstreamer%20pipeline%3F%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EI%20want%20to%20use%20OpenCL%20from%20gstreamer%20plugin%20while%20running%20any%20video%20through%20gst-launch.%3C%2FP%3E%3CP%3EI%20am%20adding%20one%20sample%20Gstreamer%20Plugin%20(e.g.%20sampleocl-plugin)%20into%20the%20Gstreamer%20Pipeline.%20From%20'sampleocl-plugin'%20i%20am%20creating%20OpenCL%20Context%2C%20creating%20two%20Image2D%20memory%20object%20using%20clCreateImage2D%2C%20creating%20%26amp%3B%20loading%20kernel%2C%20creating%20command%20queue%2C%20setargs%20for%20kernel%20(clSetKernelArg(.....%2C%26nbsp%3B%20%26amp%3Bsrcimage2D)%26nbsp%3B%20%2C%20clSetKernelArg(....%2C%20%26amp%3Bdstimage3D)).%3C%2FP%3E%3CP%3EThen%20executing%20kernel%20clEnqueueNDRangeKernel%20with%202%20dimensional%20NDRangeKernel%2C%20global%20work%20size%20set%20to%20global%5B0%5D%3D640%2C%20global%5B1%5D%3D480.%20%26amp%3B%20wait%20for%20completion%20of%20execution%20of%20kernel.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMy%20kernel%20is%20simply%20doing%20memcpy%20from%20SRC%20image%20to%20DST%20image.%3C%2FP%3E%3CP%3Ecode%20snippet%20of%20kernel%20is%20%3A%3C%2FP%3E%3CP%3E%3CSTRONG%3E%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%20START%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E__constant%20sampler_t%20sampler%20%3D%20CLK_NORMALIZED_COORDS_FALSE%20%7C%20CLK_ADDRESS_CLAMP_TO_EDGE%20%7C%20CLK_FILTER_NEAREST%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%20style%3D%22line-height%3A%201.5em%3B%20font-size%3A%2010pt%3B%22%3E_kernel%20void%20copy_image%20(%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E__read_only%20image2d_t%20input%2C%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E__write_only%20image2d_t%20output)%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%7B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%20const%20int2%20pos%20%3D%20%7Bget_global_id(0)%2C%20get_global_id(1)%7D%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%20float4%20sum%20%3D%20read_imagef(input%2C%20sampler%2C%20pos)%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%20style%3D%22line-height%3A%201.5em%3B%20font-size%3A%2010pt%3B%22%3E%26nbsp%3B%20write_imagef%20(output%2C%20(int2)(pos.x%2C%20pos.y)%2C%20sum)%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%7D%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%20END%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EWhat%20i%20am%20observed%20here%20that%2C%20after%20completion%20of%20my%20kernel%20execution%2C%20i%20received%20only%20one%20pixel%20from%20SRC%20image%20to%20DST%20image%20%26amp%3B%20i.e%20from%20(x%3D0%2Cy%3D0)%20only.%3C%2FP%3E%3CP%3E%3CSTRONG%3EAll%20global%20Work%20Items%26nbsp%3B%20%7Bglobal%5B0%5D%3D640%2C%20global%5B0%5D%3D480%20%7D%20MUST%20execute%20same%20Kernel%20%26amp%3B%20result%20MUST%20all%20pixels%20copied%20from%20SRC%20to%20DST%3C%2FSTRONG%3E.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20have%20done%2F%20executed%20exactly%20same%20thing%20from%20one%20simple%20unit%20test%20(executable%20file)%2C%20%26amp%3B%20its%20working%20fine.%20I%20received%20entire%20SRC%20image%20in%20DST%20image.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EIn%20gstreamer%2C%20only%20one%20pixel%20copied%20%3F%20Is%20something%20wrong%20%3F%3C%2FP%3E%3CP%3EOr%20any%20other%20way%20should%20i%20execute%20OpenCL%20from%20gstreamer%20%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20am%20using%20YOCTO%20build%20system.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E-Ankit.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113386%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113386%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Anushree%2C%20Michel%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20would%20be%20grateful%20if%20you%20can%20provide%20an%20update%20on%20this.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ESateesh%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113385%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113385%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fanushreemoholkar%22%20target%3D%22_blank%22%3Eanushreemoholkar%3C%2FA%3E%20Did%20you%20run%20into%20this%20problem%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113384%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113384%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20am%20using%20the%20libOpenCL%20and%20libCLC%20files%26nbsp%3B%20provided%20in%20this%20post%20in%20Android%204.3%20on%20a%20imx6Q%20Wandboard.%26nbsp%3B%20The%20usual%20apps%20that%20print%20the%20OpenCL%20device%20info%20work%20OK%20but%20when%20trying%20to%20build%20a%20cl%20program%2C%26nbsp%3B%20the%20call%20clBuildProgram%20fails%20and%20a%20further%20query%20on%20error%20returns%20'fail%20to%20open%20temporary%20file.%2Fcl-xxxxxx%20for%20writing'.%26nbsp%3B%20I%20donot%20seem%20to%20get%20any%20further%20than%20this%20so%20would%20appreciate%20if%20anyone%20can%20confirm%20if%20the%20attached%20libs%20in%20this%20page%20are%20the%20expected%20libs%20to%20be%20used%20or%20the%20location%20where%20the%20correct%20libs%20are%20available.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ERegards%3C%2FP%3E%3CP%3ESateesh%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113383%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113383%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EAlthough%20it%20is%20possible%20to%20setup%20your%20Jessie%20for%20OpenCL%2C%20personally%20I%20wouldn't%20bother.%20I%20spent%20a%20number%20of%20weeks%20testing%20the%20OpenCL%20EP%20implementation.%20Given%20that%20it%20is%20the%20EP%20(embedded%20profile)%20implementation%20it%20is%20very%20restrictive%20on%20the%20size%20of%20the%20kernel%20it%20can%20deal%20with%20and%20the%20API%20available%20(ie%20no%20atomics).%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113382%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113382%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%3C%2FP%3E%3CP%3EI%20try%20to%20run%20openCL%20on%20wbquard%20board.%20The%20operating%20system%20is%20debian%20Jessie.%3C%2FP%3E%3CP%3EWhere%20I%20find%20the%20BSP%20Users%20Guide%20for%20the%20graphic%20driver%20as%20above-quoted%3F%3C%2FP%3E%3CP%3EThanks%20for%20assistance%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113381%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113381%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Jerome%2C%20how%20did%20you%20installed%20the%20gpu%20package%20%3F%20also%2C%20there%20is%20any%20other%20test%20(CL%20or%20GLES)%20already%20built%20that%20you%20could%20test%20%3F%20just%20to%20make%20sure%20that%20the%20driver%20is%20working%20properly%20%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ethanks%2C%3C%2FP%3E%3CP%3EAndre%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113380%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113380%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI'm%20trying%20to%20run%20this%20code%20on%20an%20imx6q%20with%20open%20suse%20version%20installed%20but%20the%20function%20clGetDeviceIds%20gives%20me%20an%20segmentation%20fault.%20When%20i%20launch%20it%20with%20grind%2C%20it%20gives%20me%20the%20eroor%20when%20calling%20the%20function%20(gcoHAL_QuerySeparated3D2D%20in%20gc_hal_user_query).%3C%2FP%3E%3CP%3EI'm%20a%20beginner%20with%20openCL.%20Thanks%20in%20advance%20for%20your%20help.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EJerome%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113379%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113379%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIt%20is%20done%20by%20clBuildProgram%20function%2C%20so%20you%20dont%20need%20to%20worry%20about%20it.%20Just%20take%20a%20look%20in%20the%20code%20attached%20on%20the%20documentation.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113378%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113378%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThank%20you%20for%20the%20documentation.%20But%20the%20problem%20I'm%20facing%20is%20that%20I%20do%3C%2FP%3E%3CP%3Enot%20know%20how%20to%20call%20the%20libCLC%20online%20compiler.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EDo%20I%20need%20to%20link%20to%20it%20somewhere%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EDries%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113377%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113377%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-100694%22%20target%3D%22_blank%22%3EWhite%20Paper%20on%20get%20started%20with%20OpenCL%20on%20iMX6.pdf%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113376%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113376%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EWe%20have%20a%20very%20good%20how-to%20documentation%2C%20I%20will%20upload%20it%20and%20past%20the%20link%20here.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eregards%2C%3C%2FP%3E%3CP%3EAndre%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113375%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113375%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20think%20the%20invalid%20kernel%20is%20a%20common%20error.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2FAndreSilva%22%20target%3D%22_blank%22%3EAndreSilva%3C%2FA%3E%20can%20you%20give%20us%20a%20hand%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113374%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113374%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThe%20libOpenCL.so%20contains%20the%20function%20implementations%20and%20I%20can%20use%20those.%3C%2FP%3E%3CP%3EBut%20building%20the%20kernel%20will%20always%20file%20(even%20if%20I%20port%20your%20example%20to%3C%2FP%3E%3CP%3EAndroid).%20It%20must%20be%20because%20I%20do%20not%20use%20the%20libCLC.so%20%2C%20but%20I%20have%20no%3C%2FP%3E%3CP%3Eidea%20how%20I%20can%20make%20my%20program%20use%20the%20libCLC.so%20online%20kernel%20compiler.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EDo%20you%20have%20an%20example%20or%20guide%20that%20can%20point%20me%20in%20the%20right%20direction%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EDries%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113373%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113373%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ElbCLC.so%20is%20the%20online%20kernel%20compiler.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113372%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113372%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThank%20you%20for%20the%20library's!%20With%20the%20libOpenCL.so%20I%20can%20compile%20OpenCL%3C%2FP%3E%3CP%3Eprograms%20and%20run%20it%20on%20the%20udoo%20board.%20The%20found%20here%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fmattscar%2Fopencl_device_test%22%20target%3D%22test_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fmattscar%2Fopencl_device_test%3C%2FA%3E%20works%20fine.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EBut%2C%20when%20I%20use%20my%20own%20code%20I%20get%20a%20CL_INVALID_KERNEL%20from%20the%3C%2FP%3E%3CP%3EclSetKernelArg%20function.%20So%20I%20still%20need%20to%20find%20out%20why%20I%20get%20that%20error.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ECould%20you%20explain%20me%20what%20the%20libCLC.c%20is%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%20a%20lot%20for%20the%20support!%3C%2FP%3E%3CP%3EDries%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113371%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113371%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20have%20attached%20the%20libraries%20for%20Android%204.3%20in%20the%20freescale%20web%20page%20to%20the%20document.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThere%20is%20currently%20no%20plans%20to%20support%20officially%20CL%20in%20the%20Android%20BSP%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113370%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113370%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20am%20working%20on%20the%20Udoo%20board%2C%20but%20since%20it's%20%2B-%20the%20same%20hardware%20I%20guess%3C%2FP%3E%3CP%3Eit%20won't%20make%20a%20difference.%20Hopefully%20there%20is%20a%20CL%20compiled%20for%20it%20or%20an%3C%2FP%3E%3CP%3EAndroid%20BSP.%20Any%20chance%20that%20if%20there%20is%20no%20CL%20now%2C%20that%20there%20will%20be%20one%3C%2FP%3E%3CP%3Ein%20the%20future%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113369%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113369%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20don't%20think%20Freescale%20BSPs%20will%20work%20with%20the%20wand%20board.%20I'll%20verify%20if%20they%20do%20or%20if%20a%20CL%20so%20compiled%20for%20or%20Android%20BSP%20will%20work%20on%20the%20wand%20board%20android.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113368%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113368%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI've%20downloaded%20the%20Android%20source%20from%20the%20udoo%20website%20here%3A%3C%2FP%3E%3CP%3E%3CA%20href%3D%22http%3A%2F%2Fwww.udoo.org%2Fdownloads%2F%22%20target%3D%22test_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttp%3A%2F%2Fwww.udoo.org%2Fdownloads%2F%3C%2FA%3E%3C%2FP%3E%3CP%3E(we%20have%20the%204.2%20Android%20version%20right%20now)%3C%2FP%3E%3CP%3EI%20guess%20we%20need%20one%20of%20these%20software%20packages%3F%3C%2FP%3E%3CP%3E%3CA%20href%3D%22http%3A%2F%2Fwww.freescale.com%2Fwebapp%2Fsps%2Fsite%2Fprod_summary.jsp%3Fcode%3Di.MX6Q%26amp%3Bfpsp%3D1%26amp%3Btab%3DDesign_Tools_Tab%22%20target%3D%22test_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttp%3A%2F%2Fwww.freescale.com%2Fwebapp%2Fsps%2Fsite%2Fprod_summary.jsp%3Fcode%3Di.MX6Q%26amp%3Bfpsp%3D1%26amp%3Btab%3DDesign_Tools_Tab%3C%2FA%3E%3C%2FP%3E%3CP%3EDo%20you%20have%20a%20suggustion%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EDries%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113367%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113367%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EWhat%20is%20the%20Android%20Freescale%20BSP%20version%20you're%20using%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113366%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113366%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EOn%20my%20system(Ubuntu%2012.04.3%20by%20wandboard)%2C%20I%20have%20to%20build%20with%3A%3C%2FP%3E%3CP%3Egcc%20-std%3Dc99%20opencl_sample.c%20-lOpenCL%20-lGAL%20-o%20opencl_sample%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ENotice%3A%20put%20OpenCL%20before%20GAL%2C%20otherwise%20will%20get%20error%20like%3A%3C%2FP%3E%3CP%3E%2Fusr%2Flib%2Fgcc%2Farm-linux-gnueabi%2F4.6%2F..%2F..%2F..%2F..%2Flib%2FlibOpenCL.so%3A%20undefined%20reference%20to%20%60gcUNIFORM_SetValueF'%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113365%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113365%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThanks%20a%20lot%2C%20I%20am%20looking%20forward%20to%20it!%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EDries%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113364%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113364%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EOk%2C%20I'll%20try%20to%20provide%20you%20the%20openCL%20so%20for%20Android.%20I'll%20get%20back%20to%20you%20soon.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113363%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113363%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ethank%20you%20for%20reply.%20I'm%20using%20OpenCL%20in%20the%20android-ndk.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EDries%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E2014-04-16%2016%3A10%20GMT%2B01%3A00%20Guillermo%20Michel%20Jimenez%20%26lt%3B%3C%2FP%3E%3CP%3Eadmin%40community.freescale.com%26gt%3B%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CBLOCKQUOTE%20level%3D%221%22%3E%3CP%3E%20%20%20%20%20%20%20%26lt%3B%26gt%3B%20%20OpenCL%20Hello%20World%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Enew%20comment%20by%20Guillermo%20Michel%20Jimenez%26lt%3B%26gt%3B%20View%3C%2FP%3E%3CP%3Eall%20comments%20on%20this%20document%26lt%3B%26gt%3B%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113362%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113362%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EHow%20are%20you%20using%20CL%3F%26nbsp%3B%20%3CSPAN%20style%3D%22font-size%3A%2010pt%3B%20line-height%3A%201.5em%3B%22%3EAre%20you%20using%20CL%20in%20NDK%3F%20Or%20is%20it%20a%20Linux%20program%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113361%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113361%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20am%20also%20trying%20to%20use%20OpenCL%20on%20Android.(i.MX6%2C%20udoo%20board)%3C%2FP%3E%3CP%3EI%20took%20the%20libOpenCL.so%20from%20a%20linux%20installation%20and%20placed%20it%20onto%20the%20Android%20udoo%20board%20(since%20there%20was%20no%20libOpenCL.so%20on%20the%20Android%20version).%20%3C%2FP%3E%3CP%3EWhen%20I%20tried%20to%20load%20it%2C%20it%20missed%20these%20library's%3A%20%3CEM%3Eld-2.15.so%20%2F%20ld-linux.so.3%20%2F%20libc.so.6%20%2F%20libc-2.15.so%20%2F%20librt.so.1%20and%20librt-2.15.so%3C%2FEM%3E%3C%2FP%3E%3CP%3EI've%20found%20those%20library's%20on%20the%20Linux%20Udoo%20and%20moved%20them%20to%20the%20Android%20udoo%20board.%20But%20now%20I%20get%20this%20error%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-style%3A%20italic%3B%20font-size%3A%2015px%3B%20font-family%3A%20Arial%3B%22%3E01-02%2000%3A01%3A12.810%3A%20E%2Fdalvikvm(3206)%3A%20dlopen(%22%2Fsystem%2Flib%2FlibOpenCL.so%22)%20failed%3A%20Cannot%20load%20library%3A%20soinfo_link_image(linker.cpp%3A1635)%3A%20could%20not%20load%20library%20%22librt.so.1%22%20needed%20by%20%22libOpenCL.so%22%3B%20caused%20by%20soinfo_link_image(linker.cpp%3A1635)%3A%20could%20not%20load%20library%20%22libc.so.6%22%20needed%20by%20%22librt.so.1%22%3B%20caused%20by%20soinfo_relocate(linker.cpp%3A1178)%3A%20unknown%20reloc%20type%2019%20%40%200x689a13e0%20(1193)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2015px%3B%20font-family%3A%20Arial%3B%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EWhat%20I've%20found%20online%20(not%20that%20much)%20told%20me%20that%20these%20.so%20files%20are%20compiled%20with%20a%20compiler%20for%20linux%20that%20is%20not%20supported%20on%20Android.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EDo%20you%20perhaps%20have%20more%20information%20about%20this%20issue%20or%20can%20guide%20me%20in%20the%20right%20directoin%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EKind%20regards%2C%3C%2FP%3E%3CP%3EDries%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113360%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113360%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EYou%20could%20build%20the%20app%20for%20linux%20and%20run%20it%20for%20android%20in%20the%20command%20line.%20%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20have%20heard%20of%20CL%20on%20android%20NDK%20but%20I%20have%20downloaded%20NDK-r9c%20and%20I%20don't%20see%20the%20CL%20headers.%3C%2FP%3E%3CP%3EIt's%20probably%20a%20custom%20project%20for%20other%20devices%2C%20but%20you%20can%20probably%20make%20it%20work%20on%20i.Mx6%20ICS%20since%20we%20are%20OpenCL%20EP%20compliant.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EBTW.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EIf%20you're%20android%20system%20doesn't%20have%20the%20CL%20library%20it%20will%20need%20to%20be%20copied%20by%20hand.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMichel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1113359%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20OpenCL%20Hello%20World%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1113359%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20will%20OpenCL%20and%20these%20examples%20work%20on%20Android%20v4.0.4%20(ICS)%20for%20i.MX6%3F%3CBR%20%2F%3EThanks%3C%2FP%3E%3C%2FLINGO-BODY%3E
No ratings
Version history
Last update:
‎01-18-2013 02:07 PM
Updated by: