| Nvidia CUDA コンパイラ | |
|---|---|
| 開発者 | エヌビディア |
| 初回リリース | 2007年6月 (2007-06) |
| 安定版リリース | 12.6.0 / 2024年8月 (2024年8月) |
| 入手可能な | 英語 |
| タイプ | コンパイラ |
| ライセンス | 独自の |
| Webサイト | docs |
Nvidia CUDA コンパイラ(NVCC)は、CUDAで使用することを目的としたNvidia製のコンパイラです。これはプロプライエタリソフトウェアです。
CUDAコードは、中央処理装置(CPU)とグラフィックス処理装置(GPU)の両方で実行されます。NVCCはこれら2つの部分を分離し、ホストコード( CPUで実行されるコード部分)をGNUコンパイラコレクション(GCC)、Intel C++コンパイラ(ICC)、Microsoft Visual C++コンパイラ(MVCC)などのCコンパイラに送り、「カーネル」と呼ばれるデバイスコード(GPUで実行される部分)をGPUに送ります。デバイスコードはNVCCによってさらにコンパイルされます。NVCCはLLVMに基づいています。[ 1 ] Nvidiaが提供したドキュメントによると、バージョン7.0のnvccは、 C++11標準で定義されている多くの言語構成要素と、 C99からのいくつかをサポートしています。バージョン9.0では、 C++14標準からのさらにいくつかの構成要素が追加されています。[ 2 ]
CUDA言語拡張(.cu)を含むソースファイルはすべて、nvccでコンパイルする必要があります。NVCCは、cudacc、g++、clなどの必要なツールとコンパイラをすべて呼び出すコンパイラドライバです。NVCCは、別のツールを使用してアプリケーションの残りの部分とコンパイルする必要があるCコード(CPUコード)、並列スレッド実行(PTX)、または直接オブジェクトコードを出力できます。CUDAコードを含む実行ファイルには、CUDAコアライブラリ(cuda)とCUDAランタイムライブラリ(cudart) が必要です。
広く使用されている他のライブラリ: