我想创建一个在AMD GPU(Fury Nano)上运行的OpenCL内核。
基本上,我想使用OpenCL编写草稿内核,并使用OpenCL API使用clGetProgramInfo输出汇编代码。然后,我将修改汇编代码并使用clcreateprogramwithbinary将其重新加载到程序中。
有可能实现这个吗?
有可能实现这个吗?
clang -std=CL2.0 -target amdgcn-amd-amdpal-opencl -mcpu=polaris10 -S -c foo.cl -O3
#include <opencl-c.h>
将此代码添加到opencl源文件的第一行。
然后,会在当前目录中生成名为foo.s的汇编文件。若要生成R9 Fury的代码,请将mcpu更改为fiji。即:
... -mcpu=fiji ...