OpenCL代码编译成Vulkan代码的工具clspv

栏目: 后端 · 发布时间: 7年前

内容简介:最近接到个任务,就是把使用编译完成后,在

最近接到个任务,就是把 OpenCL.cl 代码编译成 Vulkan 程序。

使用 Google 开源的工具 clspv 实现这个功能即可。

$ git clone https://github.com/google/clspv.git
 
$ cd clspv
 
$ python utils/fetch_sources.py
 
$ mkdir build
 
$ cd build
 
$ cmake ..
 
$ make -j8

编译完成后,在 bin 目录下生成 clspv 这个可执行程序。

使用的时候参考项目的文档 OpenCL C 1.2 Language on Vulkan

只是需要注意的是,如果使用了 image 类型,比如 image2d_t 则需要提供 -samplermap 这个参数,这个参数指向一个文件,文件内容可能如下:

CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_NEAREST,
CLK_NORMALIZED_COORDS_TRUE  | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_LINEAR

具体的定义跟在 OpenCL 中调用 read_image/write_image 函数时候指定的 sampler 参数一致即可。

参考链接

OpenCL C 1.2 Language on Vulkan


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机网络(第7版)

计算机网络(第7版)

谢希仁 / 电子工业出版社 / 2017-1 / 45.00

本书自1989年首次出版以来,曾于1994年、1999年、2003年、2008年和2013年分别出了修订版。在2006年本书通过了教育部的评审,被纳入普通高等教育“十一五”国家级规划教材;2008年出版的第5版获得了教育部2009年精品教材称号。2013年出版的第6版是“十二五”普通高等教育本科国家级规划教材。 目前2017年发行的第7版又在第6版的基础上进行了一些修订。 全书分为9章,比较......一起来看看 《计算机网络(第7版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具