Как скомпилировать CUDA для llvm IR? - PullRequest
3 голосов
/ 02 февраля 2012

Я три дня пытался скомпилировать ядро ​​CUDA в llvm IR, и я не смог этого сделать. Я изменил langoptions.cpp и добавил CUDA=1; в конструкторе, но все равно Clang дает мне сообщения об ошибках для синтаксиса CUDA (например, вызов _synchthreads ()). Я сделал следующее:

  1. скачано llvm (включая clang), изменено langoptions.cpp (CUDA = 1; в конструкторе) и установил его.
  2. установлены инструментарий CUDA 4.1 и CUDA SDK.
  3. скомпилировал пример CUDA с использованием clang, используя:

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

и, как я уже сказал, это не работает.

1 Ответ

3 голосов
/ 03 февраля 2012

clang –x=CUDA в общедоступном транке LLVM - это нечто экспериментальное, сделанное вне NVIDIA; Вам следует обращаться к псевдониму llvm-dev с вопросами.

NVCC не поддерживает излучение LLVM IR.

...