1

Mac で CUDA コードをコンパイルしたいのですが、Windows で実行可能にします。

nvcc CUDA クロス コンパイラをセットアップする方法はありますか?

問題は、旅行のためにデスクトップ ウィンドウにしばらくアクセスできないことですが、戻ってコードをコンパイルするまで待って時間を無駄にしたくありません。待たなければならない場合、コードをデバッグして、正しくコンパイルされていることを確認するのは時間の無駄です。ただし、私のMacにはcuda対応のハードウェアが装備されていません。

4

1 に答える 1

7

簡単に言えば、いいえ、それは不可能です。

よくある誤解ですが、nvcc実際にはコンパイラではありません。これはコンパイラ ドライバであり、ホスト コードとデバイス コードの両方をコンパイルするために、ホスト C++ コンパイラに大きく依存しています。Windows 用の CUDA をコンパイルするには、Microsoft C++ コンパイラを使用する必要があります。このコンパイラは Linux や OS X では実行できないため、Windows ホストでコンパイルを実行しない限り、Windows ターゲットへのクロス コンパイルはできません (たとえば、32/64 ビットのクロス コンパイルは可能です)。

他の 2 つの CUDA プラットフォームは、コンパイルに gcc が必要であるにもかかわらず、同様に互換性がありません。これは、バックエンドが異なるため (Linux は elf プラットフォームであり、OS X は mach プラットフォームです)、OS X と Linux 間のクロス コンパイルでさえ不可能です。

OS X プラットフォームでのコンパイルが目標である場合、2 つの選択肢があります。

  1. OS X ツールキットをインストールします。ハードウェアに互換性のある GPU がない場合でも、ツールキットをインストールしてコードをコンパイルできます。
  2. 仮想 Windows インストール (または物理ブート キャンプ インストール) 内に Windows ツールキットとビジュアル スタジオをインストールし、Mac 上の Windows 内でコードをコンパイルします。繰り返しますが、これを行うために NVIDIA 互換のハードウェアは必要ありません。

CUDA GPU なしでコードを実行したい場合は、調査可能な非商用 ( GPU Ocelot ) および商用 ( PGI CUDA-x86 ) オプションがあります。

于 2012-05-14T11:27:30.047 に答える