2017-08-18 15 views
1

最近CakeコードをコンパイルするのにCMakeを使用していますが、デバッグモードまたはリリースモードでnvccに異なるコンパイルフラグを渡す方法はわかりません。CMake:ビジュアルスタジオ環境でモード依存コンパイルフラグをnvccに渡す方法

set(CUDA_GENE_FLAGS_DEBUG "-gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37") 
set(CUDA_GENE_FLAGS_RELEASE "-Xptxas -O3 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37") 

Visual Studioでデバッグモードまたはリリースモードを指定すると、これらのフラグを自動的に選択することができます。誰も私にこれに手を差し伸べることはできますか?ありがとう。

答えて

0

OpenMPをCUDAプログラムにリンクする際に同じ問題が発生しました。

ここでlatest CMake document for FindCUDAによれば、これらの3つの変数を試してください:CUDA_NVCC_FLAGSCUDA_NVCC_FLAGS_DEBUGCUDA_NVCC_FLAGS_RELEASE

しかし、それは私のために働かなかったし、別のreferenceを見つけた。

上記の変数のどれもがこの問題を回避するために、このようなCMAKE_CUDA_FLAGSを使用しようと、仕事しない場合:

set(CMAKE_CUDA_FLAGS ${YOUR_FLAGS}) 
関連する問題