2016-07-18 6 views
1

私はCUDAを使って簡単なアプリケーションを構築しようとしています。私は何時間も試してきましたが、Windows上で動作させることはできません。 nvccは、必要なものをサポートしていないVisual Studioのコンパイラなしでコンパイルすることを絶対に拒否します。私はclangでnvccを使ってビルドしようとしましたが、Visual Studioのコンパイラを使用するように頼んでいます。私もそれが今CUDAをサポートしていますので、直接打ち鳴らすを使用してみましたが、私はこのエラーを受け取りました:私はCUDAツールキットバージョン7.5を持っていると私のグラフィックカードはGTX 970であるため、Windows上で他のC++コンパイラをCUDAで使用するにはどうすればよいですか?

clang++.exe: error: Unsupported CUDA gpu architecture: compute_52 

これは私には意味がありません(2そのうちの)。私はこれを広範囲に捜してきました。どこにいても、いつも人が持っているエラーは、CUDAのツールキットが< 7.5です。私は今、涙の危機に瀕していますが、このCUDAアプリケーションで動作するVLAのような単純なものを手に入れようとしていますが、実現できません...

+0

オリジナルの問題を表示することができますが、必要なものは表示されますが、VSはサポートしていないようです。公式のツールキット(CUDA with VS compiler)で解決する方がよいでしょう。 – kangshiyin

+0

可変長配列は、とにかくC++ではありません。そして私は彼らがCUDAで動作しない理由を理解しています。それらは本質的に 'alloca'を包むラッパーであり、CUDAがどちらもサポートしているとは思わない。 – MSalters

+2

Windowsプラットフォーム上で' nvcc'用にサポートされている唯一のホストコンパイラは、Visual Studioコンパイラです。これは[ドキュメンテーション](http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#system-requirements)に記載されています。表2「Windowsコンパイラのサポート」を参照してください。 clang、icc、mingw、その他のCPUコンパイラはWindowsプラットフォームのCUDAの 'nvcc'でホストコンパイラとして**サポートされていません**一般に、' nvcc'はMicrosoftのcl.exeをチェックし、使用されていない場合は動作します。これは予想される動作です。 –

答えて

6

CUDAウィンドウツールチェーンrequires Visual Studio C++コンパイラ。あなたはできませんそのプラットフォーム上の他のものを使用します。 VSコンパイラがCUDAホストコード内で必要な言語機能をサポートしていない場合、プラットフォームや期待を変更する以外に選択肢はありません。

他のコンパイラを使用して非CUDAホストコードをコンパイルし、NVCCとVSツールチェーンを使用してそのコードをリンクすることも可能です。

関連する問題