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


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

查看所有标签

猜你喜欢:

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

程序设计语言理论基础

程序设计语言理论基础

米切尔 / 电子工业出版社 / 2006-11 / 68.00元

本书提出了一个框架,用于分析程序设计语言的语法、操作和语义性质,该框架基于称为类型化λ演算的数学系统。λ演算的主要特色是对于函数和其他可计算的值的一种记法,以及一个等式逻辑和用于表达式求值的一组规则。本书中最简单的系统是称为泛代数的一个等式系统,它可以用来公理化和分析通常用于程序设计的许多数据类型。可作为理论计算机科学、软件系统和数学专业的大学本科高年级或者研究生初始学习阶段的教材,同时也适合用于......一起来看看 《程序设计语言理论基础》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具