【问题标题】:how to compile CUDA to llvm IR?如何将 CUDA 编译为 llvm IR?
【发布时间】:2012-02-02 17:38:55
【问题描述】:

我已经尝试了三天将 CUDA 内核编译到 llvm IR 中,但我做不到。我已经更改了langoptions.cpp 并在构造函数中添加了CUDA=1;,但仍然clang 给了我cuda 语法的错误消息(如_synchthreads() 调用)。 我做了以下事情:

  1. 下载的 llvm(包括 clang)修改了 langoptions.cpp (CUDA=1; 在构造函数中),并安装它。
  2. 已安装 CUDA 工具包 4.1 和 CUDA SDK。
  3. 使用 clang 编译了一个 CUDA 示例:

    clang -I${CUDA_HOME}/include -I${CUDA_SDK_INC}
    ~/workspace/cuda_example/mis_kernel.cu -S -emit-llvm -o
    ~/workspace/cuda_example/a.ll
    

正如我所说,它不起作用。

【问题讨论】:

    标签: compiler-construction cuda llvm clang


    【解决方案1】:

    公共 LLVM 主干中的clang –x=CUDA 是在 NVIDIA 之外进行的实验性操作;如有问题,您应该联系 llvm-dev 别名。

    NVCC 不支持发出 LLVM IR。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-15
    • 2012-02-27
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2016-03-14
    相关资源
    最近更新 更多