可以实现CUDA内核的即时(jit)编译吗?

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

我知道OpenCL提供此功能.

我有一些在运行时没有改变的变量(即仅依赖于输入文件),因此我想在内核编译时(即在运行时)用宏定义这些值.

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

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

您还可以考虑使用不同的参数维护内核的几个不同版本,程序可以根据您输入的任何输入在运行时选择它们.

点赞