我正在尝试将代码的内核部分与 3 """一起存储在不同的文件中。我尝试将其另存为文本文件和 bin 文件,然后读入,但没有成功用它。它开始给我一个错误,说“””丢失,或者 ) 丢失。 “但是,如果我只是将内核代码复制粘贴到 cl.Program(,它就可以工作。
那么,有没有办法将长内核代码抽象到另一个文件中?这是python特有的,谢谢!
#Kernel function
prg = cl.Program(ctx, """
__kernel void sum(__global double *a, __global double *b, __global double *c)
{
int gid = get_global_id(0);
c[gid] = 1;
}
""").build()
所以几乎所有内容在"""""",cl.Program() 函数的第二个参数,我不想移动到不同的文件。
最佳答案
只需将您的内核代码放在一个纯文本文件中,然后使用 open(...).read()
获取内容:
foo.cl
__kernel void sum(__global double *a, __global double *b, __global double *c)
{
int gid = get_global_id(0);
c[gid] = 1;
}
Python 代码
prg = cl.Program(ctx, open('foo.cl').read()).build()
关于python - 将内核存储在单独的文件中 - PyOpenCL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39644821/