lua/c++ 中的用户定义 CUDA 内核

User-defined CUDA kernels in lua/c++

我想允许用户定义要在 CUDA 内核中使用(或被 CUDA 内核调用)的函数。

我不想向用户公开 CUDA API。这些函数应该看起来像典型的 c++/lua 函数。

我检查过 pyCUDA,但它似乎只是 .cu 代码的包装器。

我宁愿有一个 .lua 或 .cc 文件并使用函数指针。 远程可以吗?

不,这不可能。

CUDA 内核,by design, execute on the GPU。它们被编译成 (NVIDIA) 特定于 GPU 的机器语言,并在与 C++ 函数运行的任何东西完全不同的执行环境中执行,更不用说 Lua。他们不能简单地调用任意代码。

您可能做的最多的事情就是编写一个编译器,将 C++/Lua 编译成 CUDA 库。但这对任何一种语言来说都是一项艰巨的任务。