2011-12-27 92 views
1

Point Cloud LibraryトランクビルドをCUDAオプションを有効にしてセットアップしようとしています。CUDA_SDK_ROOT_DIRを見つける

these instructionsの後にCUDAを正しくインストールしたと思います。 PCLビルドのcmakeのオプション

、いくつかのオプションが認識されないです:私は手動にCUDA_SDK_ROOT_DIRを設定することができる何かが

enter image description here

ありますか?同様に、他の根拠のないオプションについても同様です。

+1

ビルドしているプロジェクトでの経験はありませんが、CUDA_SDK_ROOT_DIRの場合、SDKインストーラがその内容を書き込んだディレクトリに設定します。デフォルトのオプションを受け入れました。他の未設定のオプションは無視しても問題ありません。ランタイムAPIの廃止予定のCUDAデバイスエミュレーション機能に適用されました。 – talonmies

+0

私はCUDA_SDK_ROOT_DIRがシステム変数(FindCudaで設定されていません)を持っていることを知っています。したがって、システム変数を設定したくない場合は、cmakeに設定することができます。このデフォルト値は通常であり、CUDAはこれを使用できます。 – Yappie

答えて

2

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" 
) 

すなわち:

+0

これはもはや7.5の場合ですか? – Goddard

0

FindCUDA.cmakeのソースコードは、このパスが発見された方法についていくつかのヒントを提供しますNVSDKCOMPUTE_ROOTまたはNVSDKCUDA_ROOT環境変数が正しく設定されていることを確認してください。 Linuxマシン上で

0

.. は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は正しく設定されています)