1

LLVM 的 NVPTX 后端(由 NVIDIA 提供)是否支持 CUDA5 / Compute Capability 3.5 设备中的新动态并行功能?

4

1 回答 1

2

我在CUDA Dynamic Parallelism Programming Guide的标题为“Device-Side Launch from PTX”的部分中找到了一些信息。似乎可以从 PTX 访问一个名为 cudaLaunchDevice() 的函数,用户只需在 PTX 中声明此函数,然后调用它:

// When .address_size is 64
.extern .func(.param .b32 func_retval0) cudaLaunchDevice
(
.param .b64 func,
.param .b64 parameterBuffer,
.param .align 4 .b8 gridDimension[12],
.param .align 4 .b8 blockDimension[12],
.param .b32 sharedMemSize,
.param .b64 stream
)
;

所以我想答案是在 LLVM IR 中声明这个函数,然后使用它。我没有测试过这个解决方案。

于 2013-07-02T00:08:14.450 回答