Ant*_*ine 4 c++ templates opencl
根据本文档第6页(由AMD发布) (以及此主题?),有一些方法可以在OpenCL中使用模板.但是,第一个文档报告可以通过使用一些似乎不存在的clBuildProgramWithSource选项来完成...无论如何,假设它是clBuildProgram而不是前一个,我试图使用所谓的"-x"选项使用"clc ++",但仍然无法识别:
warning: ignoring build option: "-x"
Run Code Online (Sandbox Code Playgroud)
事实上,根据Khronos提供的文件,这个选项不可用!这个文档可能会以某种方式被弃用,但是还有其他方法可以在OpenCL代码中使用模板吗?
该-x选项仅适用于支持OpenCL 1.2和静态C++语言扩展的最新AMD OpenCL运行时.您不会在官方Khronos文档中找到关于它的消息,因为这完全是AMD的倡议,并且最终是供应商扩展.
我假设您拥有正确的运行时,因此需要使用以下选项构建内核:
-x clc++
Run Code Online (Sandbox Code Playgroud)
如果您能够使用此类构建内核,那么您应该能够使用模板.
如果这不起作用,则意味着您的运行时安装很糟糕,例如,您以某种方式使用了错误的编译器,或者这意味着您没有正确的运行时.如果是这样,请提供您的平台信息.
我不久前搞乱了静态C++扩展,我可以证明它-x clc++确实有效.
还要注意使用此扩展程序会使您的代码无法移植并锁定到符合AMD标准的设备,因为其他供应商不太可能自己引入完全相同的扩展(如果有的话).
此外,关于Khronos文档的说明 - 谷歌返回的文件通常是OpenCL 1.0版本,这可能会令人恼火.如果您经常使用OpenCL,我建议下载1.1或1.2标准以及获取相关HTML文档的本地副本以便快速访问.它有助于.
| 归档时间: |
|
| 查看次数: |
769 次 |
| 最近记录: |