是否可以即时(jit)编译CUDA内核?

use*_*358 5 jit cuda

CUDA是否支持CUDA内核的JIT编译?

我知道OpenCL提供此功能。

我有一些在运行时不会更改的变量(即仅取决于输入文件),因此我想在内核编译时(即在运行时)使用宏定义这些值。

如果我在编译时手动定义这些值,我的寄存器使用率将从53下降到46,这将大大提高性能。

Bre*_*ood 0

如果您可以使用Python,您可以使用优秀的pycuda模块在运行时编译您的内核。与Mako等模板引擎相结合,您将拥有一个非常强大的元编程环境,它允许您动态调整内核,以适应您可用的任何架构和特定设备属性(显然有些事情很难做到)完全动态和自动)。

您还可以考虑仅维护具有不同参数的内核的几个不同版本,您的程序可以在运行时根据您提供给它的任何输入进行选择。