次の設定をしました。 MPIおよびCUDAを使用するその他のものを使用してC++で記述されたフレームワークを拡張します。プロジェクトはビルドにcmakeを使用します。拡張機能とビルドオブジェクトファイルにライブラリを使用することは避けたいです。私のcudaソースから。その後、これらのオブジェクトオブジェクトファイルと他のコンパイラでコンパイルされた他のいくつかのファイルをリンクしたいと思います。誰かがそれを達成するための手がかりを持っていますか?
CmakeでCUDAを使用する方法の概要については、 http://code.google.com/p/cudpp/wiki/BuildingCUDPPwithCMake を参照しましたが、このソリューションではライブラリも使用しています。
新しいバージョンのcmakeに付属するCUDAサポートを使用してオブジェクトファイルをコンパイルすることができます。 cuda_compile
コマンドを使用します。下記参照。
# CMakeLists.txt for G4CU project
project(test-cuda-thrust-gdb)
# required cmake version
cmake_minimum_required(VERSION 2.8)
# packages
find_package(CUDA)
# nvcc flags
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode Arch=compute_20,code=sm_20)
cuda_compile(HELPER_O helper.cu)
cuda_compile(DRIVER_O driver.cu OPTIONS -G)
cuda_add_executable(driver ${HELPER_O} ${DRIVER_O})
さらに詳しい情報が必要な場合は、FindCUDA.cmake
ファイルをご覧ください。