如果我正确理解了NVRTC 文档中的工作流程描述,那么它是如何工作的(假设是 CUDA 源):
- 从源文本创建 NVRTC 程序。
- 编译 NVRTC 程序以获取 PTX 代码。
- 使用 NVIDIA 的驱动程序 API (
cuLinkCreate
,cuLinkAddData
,cuLinkComplete
) 对 PTX 代码进行设备链接以获取 cubin。
但是...从 CUDA 11.3 开始,NVRTC 具有以下 API 调用:
nvrtcResult nvrtcGetCUBIN ( nvrtcProgram prog, char* cubin );
那么我怎样才能在编译后拥有一个 cubin 呢?