Point Cloud LibraryトランクビルドをCUDAオプションを有効にしてセットアップしようとしています。CUDA_SDK_ROOT_DIRを見つける
these instructionsの後にCUDAを正しくインストールしたと思います。 PCLビルドのcmakeのオプション
、いくつかのオプションが認識されないです:私は手動にCUDA_SDK_ROOT_DIR
を設定することができる何かが
ありますか?同様に、他の根拠のないオプションについても同様です。
Point Cloud LibraryトランクビルドをCUDAオプションを有効にしてセットアップしようとしています。CUDA_SDK_ROOT_DIRを見つける
these instructionsの後にCUDAを正しくインストールしたと思います。 PCLビルドのcmakeのオプション
、いくつかのオプションが認識されないです:私は手動にCUDA_SDK_ROOT_DIR
を設定することができる何かが
ありますか?同様に、他の根拠のないオプションについても同様です。
CUDA_SDK_ROOT_DIR
は、NVIDIAのGPU Computing SDKをインストールした方向に設定する必要があります。 GPU Computing SDKは、CUDAをダウンロードしたNVIDIAの同じページからダウンロードできます。既定では、このSDKは$HOME/NVIDIA_GPU_Computing_SDK
にインストールされます。適切に設定し、cmakeを再実行します。
編集:
CUDA_SDK_ROOT_DIR
変数が実際に使用しているCUDAのバージョンが含まれてい$HOME/NVIDIA_GPU_Computing_SDK
の下にサブディレクトリを探しています。私にとっては、これは$HOME/NVIDIA_GPU_Computing_SDK/CUDA/v4.1
です。
########################
# Look for the SDK stuff. As of CUDA 3.0 NVSDKCUDA_ROOT has been replaced with
# NVSDKCOMPUTE_ROOT with the old CUDA C contents moved into the C subdirectory
find_path(CUDA_SDK_ROOT_DIR common/inc/cutil.h
"$ENV{NVSDKCOMPUTE_ROOT}/C"
"$ENV{NVSDKCUDA_ROOT}"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Installed Products\\NVIDIA SDK 10\\Compute;InstallDir]"
"/Developer/GPU\ Computing/C"
)
すなわち:
これはもはや7.5の場合ですか? – Goddard
FindCUDA.cmakeのソースコードは、このパスが発見された方法についていくつかのヒントを提供しますNVSDKCOMPUTE_ROOTまたはNVSDKCUDA_ROOT環境変数が正しく設定されていることを確認してください。 Linuxマシン上で
.. はFindCUDA.cmakeモジュールの 'find_path' オプションに"/ C $ ENV {HOME}/NVIDIA_GPU_Computing_SDK" を追加します(USR /シェア/ cmakeの-2.8 /モジュール/ FindCUDA .cmake)
########################
# Look for the SDK stuff. As of CUDA 3.0 NVSDKCUDA_ROOT has been replaced with
# NVSDKCOMPUTE_ROOT with the old CUDA C contents moved into the C subdirectory
find_path(CUDA_SDK_ROOT_DIR common/inc/cutil.h
"$ENV{HOME}/NVIDIA_GPU_Computing_SDK/C"
"$ENV{NVSDKCOMPUTE_ROOT}/C"
"$ENV{NVSDKCUDA_ROOT}"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Installed Products\\NVIDIA SDK 10\\Compute;InstallDir]"
"/Developer/GPU\ Computing/C"
)
cmakeは自動的に4.0 SDKを自動的に検出します。
しかし、私のビルドはまだそこにあるにもかかわらず、cutil.hを見つけることができません。 $ HOME/NVIDIA_GPU_Computing_SDK/C/common/inc/cutil.h。最終的に動作させるには、インクルードフラグをプロジェクトに追加する必要がありました。 CUDA_NVCC_FLAGS:-I/ホーム/ビル/NVIDIA_GPU_Computing_SDK/C /共通/ INC
注:-I/$ HOME/NVIDIA_GPU_Computing_SDK/C /共通/ INC ませ作業を行います。 (env $ HOMEは正しく設定されています)
ビルドしているプロジェクトでの経験はありませんが、CUDA_SDK_ROOT_DIRの場合、SDKインストーラがその内容を書き込んだディレクトリに設定します。デフォルトのオプションを受け入れました。他の未設定のオプションは無視しても問題ありません。ランタイムAPIの廃止予定のCUDAデバイスエミュレーション機能に適用されました。 – talonmies
私はCUDA_SDK_ROOT_DIRがシステム変数(FindCudaで設定されていません)を持っていることを知っています。したがって、システム変数を設定したくない場合は、cmakeに設定することができます。このデフォルト値は通常であり、CUDAはこれを使用できます。 – Yappie