最近接到个任务,就是把OpenCL
的.cl
代码编译成Vulkan
程序。
使用Google
开源的工具clspv
实现这个功能即可。
编译完成后,在 bin
目录下生成 clspv
这个可执行程序。
使用的时候参考项目的文档 OpenCL C 1.2 Language on Vulkan 。
只是需要注意的是,如果使用了 image 类型,比如image2d_t
则需要提供 -samplermap
这个参数,这个参数指向一个文件,文件内容可能如下:
具体的定义跟在 OpenCL
中调用 read_image/write_image 函数时候指定的 sampler
参数一致即可。