【发布时间】:2015-12-05 21:24:40
【问题描述】:
我希望允许用户定义要在 CUDA 内核中使用(或被 CUDA 内核调用)的函数。
我不想向用户公开 CUDA API。这些函数应该看起来像典型的 c++/lua 函数。
我检查了 pyCUDA,但它似乎只是 .cu 代码的包装器。
我宁愿有一个 .lua 或 .cc 文件并使用函数指针。 远程可以吗?
【问题讨论】:
-
问:“用户定义函数”到底是什么意思?你能举个例子吗?问:如果您不提供自己的 API,并且使用 CUDA,那么为什么不想“向用户公开 CUDA API”?你能详细说明一下吗?
-
@paulsm4 该应用程序可以在 GPU 或 CPU 上运行。 CUDA 只是变体之一。定义的函数也应该能够在 CPU 上运行。
-
您还没有解释“用户定义的函数”是什么意思?他们是否会用 Lua 编写(例如),您的“库”是否会为他们提供您编写的功能?可以在 CPU 或 GPU 上执行的功能?还是您希望他们能够编写原始 Lua 代码并以某种方式在 CPU 或 GPU 上执行?
-
用户定义的函数将由库执行。这些函数可以在 lua(并通过 LuaJIT 导入)或 c++ 中定义。
-
有关在符合 c++ 的文本文件中使用用户提供的函数的示例,请查看here。