Mac で CUDA コードをコンパイルしたいのですが、Windows で実行可能にします。
nvcc CUDA クロス コンパイラをセットアップする方法はありますか?
問題は、旅行のためにデスクトップ ウィンドウにしばらくアクセスできないことですが、戻ってコードをコンパイルするまで待って時間を無駄にしたくありません。待たなければならない場合、コードをデバッグして、正しくコンパイルされていることを確認するのは時間の無駄です。ただし、私のMacにはcuda対応のハードウェアが装備されていません。
Mac で CUDA コードをコンパイルしたいのですが、Windows で実行可能にします。
nvcc CUDA クロス コンパイラをセットアップする方法はありますか?
問題は、旅行のためにデスクトップ ウィンドウにしばらくアクセスできないことですが、戻ってコードをコンパイルするまで待って時間を無駄にしたくありません。待たなければならない場合、コードをデバッグして、正しくコンパイルされていることを確認するのは時間の無駄です。ただし、私のMacにはcuda対応のハードウェアが装備されていません。
簡単に言えば、いいえ、それは不可能です。
よくある誤解ですが、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 つの選択肢があります。
CUDA GPU なしでコードを実行したい場合は、調査可能な非商用 ( GPU Ocelot ) および商用 ( PGI CUDA-x86 ) オプションがあります。