web-dev-qa-db-ja.com

CMAKEでnvccコンパイラにフラグを渡す方法

Cmakecudaカーネルモジュールを埋め込んだCプロジェクトがあります。

表示するために--ptxas-options=-vのみをnvccに渡したいスレッドあたりのレジスタ使用数およびブロックあたりの共有メモリ使用量

nvccCmakeにフラグを渡す方法を検索することで、解決策を見つけました。

add_compile_options(myprog
    PRIVATE
    $<$<COMPILE_LANGUAGE:C>:-Wall>
    $<$<COMPILE_LANGUAGE:CUDA>:-Arch=sm_20 -ptxas-options=-v>
)

しかし、これは私に上記のプロパティを表示しませんでした。これらのフラグはnvccに正しく渡されていないと思います。

--ptxas-options=-vnvccコンパイラに渡すにはどうすればよいですか?

5
Nouman Tajik

どうですか?...

find_package( CUDA REQUIRED )
set( CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS}" "--ptxas-options=-v" )

include_directories( ${CUDA_INCLUDE_DIRS} )
cuda_add_library( kernel_lib ${sources} )    

オンラインでCMakeCUDAのドキュメントも確認できます... https://cmake.org/cmake/help/latest/module/FindCUDA.html

0
KlingonJoe