1

我有一个用于 CUDA 7.5 的 CUDA C/C++ 程序。众所周知:libNVVM 库 - 一个从 NVVM IR 生成 PTX 的优化编译器库。

我可以通过以下方式获得 PTX:nvcc -ptx <file>.cu -o <file>.ptx

但是我怎样才能从中获得 NVVM IR (LLVM IR) <file>.cu

以及如何为目标架构编译 NVVM IR (LLVM IR) 或 Optimized IR?

我是否需要这个第三方库或程序,例如:libcuda.lang,...?

在此处输入图像描述

在此处输入图像描述

NVVM 编译器(基于 LLVM)从 NVVM IR 生成 PTX 代码。

NVVM IR 和 NVVM 编译器大多与所使用的源语言无关。由于 DCI(驱动程序/编译器接口)的不同,NVVM 编译器的 PTX 代码生成部分需要知道源语言。

从技术上讲,NVVM IR 是 LLVM IR,具有一组规则、限制和约定,以及一组受支持的内在函数。NVVM IR 中指定的程序始终是合法的 LLVM 程序。合法的 LLVM 程序可能不是合法的 NVVM 程序。

4

1 回答 1

3

非常简短的回答是你不能这样做。NVIDIA 的解析器是专有和封闭源代码,他们没有以您所询问的方式公开 IR 代码生成器。

也就是说,您不是第一个对此感到疑惑的人,您也许可以在这里找到一些有用但完全非官方且不受支持信息。

于 2016-01-01T22:58:24.143 回答