- 博客(2)
- 收藏
- 关注
原创 为 OpenCL 提供支模版支持
OpenCL本身(至少目前)并不支持模版。在许多场景下(例如移植CUDA代码),这会带来一些麻烦。 这里,我们介绍一种解决方案。主要思路是,利用OpenCL在运行时编译的特点,通过宏定义实现类似C++模型的功能。首先我们要解决动态获取类型名称的问题 解决方法如下:template<typename T>struct TypeParseTraits { static const ch
2015-06-23 15:05:49 1959
原创 静态集成 OpenCL 的 Kernel 源代码到可执行文件
在编写OpenCL代码时,为了方便起见,我们更喜欢将kernel源代码放在单独的文件中(一般为*.cl)。这各做的缺点在于,程序需要在运行时动态读入文件中的代码为字符串,然后再传递给OpenCL的RT编译、执行。因此,在可执行文件之外,我们还需要单独分发*.cl文件。下面,我们介绍一种简单的技巧,将*.cl文件在编译时静态的包含在可执行文件中。首先,将所有源代码由”STRINGFY()”括起来。
2015-06-23 14:26:38 3787
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人