4

Ubuntu10.10でGTX570(compute capcability 2.0)を使用し、GCCコンパイラスイートでCUDA4.0を使用しています。私が理解しているように、コンパイル中にCUDAコンパイラドライバーnvccは.cuファイルをホストコードとデバイスコードに分割し、ホストコンパイラを呼び出してホストコードをコンパイルし、デバイスコードを個別にコンパイルします。最後に、生成されたホストオブジェクトコードとデバイスのPTXコードを単一の実行可能ファイルにマージします。

Linuxシステムの場合、ホストコードをコンパイルするために呼び出されるデフォルトのコンパイラは何ですか?GCCスイートのCコンパイラ(gcc)またはC ++コンパイラ( )ですか?g++

4

2 に答える 2

15

たとえば、(インテル C++ コンパイラーを使用する)、 (が で使用可能であると仮定して) を使用する-ccbinためのオプションが必要です。nvccicpcnvcc -ccbin=icpcicpc$PATH

は C コードであってもコードを C++ として扱うため、常に C++ コンパイラ ( g++icpcなど)を渡す必要があることに注意してください。nvcc

于 2013-03-20T07:50:24.900 に答える
5

それが使用する知る限りg++(より正確にはgcc、言語をc ++に設定して使用します)、そしてもちろんg++最終的なリンクに使用します。必要に応じて、オプションを指定して実行nvccし、--verbose詳細を表示します。

于 2011-11-30T20:41:30.660 に答える