问题标签 [nvvm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cuda - 如何从 .cu 文件中获取 NVVM IR (LLVM IR) 以及如何将 NVVM IR 编译为二进制文件?
我有一个用于 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 程序。