3

私はLLVMが初めてです。clang は CUDA に対応していると聞きました。clang を使用して CUDA をコンパイルするにはどうすればよいですか? 構成を変更したり、特定のヘッダー ファイルを含めたりする必要はありますか? これに関する情報は、ウェブ上で見つけることができませんでした。それはまったく可能ですか?

今、clangを使ってダミーのcudaプログラムをコンパイルしようとすると

clang -I /usr/local/cuda/include filename.cu 

次のエラーが表示されます

 unknown type name '__global__'

 __global__ void nothing(int *A)

どんな助けでも大歓迎です!ところで、私はMacで実行しています。

4

2 に答える 2

9

Google などからの貢献のおかげで、Clang は CUDA の構築をサポートするようになりました。ただし、コマンド ライン パラメータは とは少し異なりnvccます。公式ドキュメントによると、ファイルの名前が であると仮定するとaxpy.cu、基本的な使用法は次のとおりです。

$ clang++ axpy.cu -o axpy --cuda-gpu-arch=<GPU arch>  \
    -L<CUDA install path>/<lib64 or lib>              \
    -lcudart_static -ldl -lrt -pthread

Clang を使用して CUDA をコンパイルするには、 NVIDIA CUDA ツールキットから独自の CUDA ランタイムをインストールする必要があることに注意してください。

于 2016-03-26T20:35:00.893 に答える
4

2016-05-01 更新: clang が CUDA をサポートするようになりました。@rivanvxの回答を参照してください。

CUDA コンパイラは LLVM に基づいています。Clang も LLVM に基づいていますが、CUDA をサポートしていません。

于 2012-08-23T22:51:53.330 に答える