I know SNACK is short for simple no api compiled kernel. But where is the implementation or is there any? I know CLOC is basically two bash scripts, OpenCL has libraries. But where is SNACK? Thanks.
Solved! Go to Solution.
That is the HSA runtime, plus some CLOC generated runtime code that gets mixed in with the *.o file. The CLOC tool will hide all of the runtime code from the user, however.
SNACK allows you to create an object file (*.o) from a OpenCL C executable (*.cl) and link it together with the host object files to create one executable. SNACK is exposed as an option through the CLOC script. You can see snack examples in the CLOC/examples/snack directory.
But where is the implementation of SNACK? I mean, where is the code that allow NOT using the OpenCL API(get platform/device, create context/buffers, etc.) to run the compiled CL kernels on GPU? Thanks.
That is the HSA runtime, plus some CLOC generated runtime code that gets mixed in with the *.o file. The CLOC tool will hide all of the runtime code from the user, however.
I see, thanks a lot.