當我用nvcc 5.0編譯.cu文件時,編譯器給我提供以下信息。在搜索-lcudart時跳過不兼容的libcudart.so
在/ usr/bin中/ LD:用於-lcudart
看來警告或錯誤搜索時跳過不兼容/usr/local/cuda-5.0/lib/libcudart.so。我不知道什麼是問題。
有沒有人知道有關此信息的更多詳細信息?
當我用nvcc 5.0編譯.cu文件時,編譯器給我提供以下信息。在搜索-lcudart時跳過不兼容的libcudart.so
在/ usr/bin中/ LD:用於-lcudart
看來警告或錯誤搜索時跳過不兼容/usr/local/cuda-5.0/lib/libcudart.so。我不知道什麼是問題。
有沒有人知道有關此信息的更多詳細信息?
當試圖將64位代碼鏈接到32位庫時,通常會發生此警告,請參閱此問題:Skipping Incompatible Libraries at compile。
您需要區分2庫文件:
$CUDA_HOME/lib/libcudart.so
的cudart
庫的32位版本。$CUDA_HOME/lib64/libcudart.so
,64位版本的cudart
庫。(在你的情況,$CUDA_HOME
是/usr/local/cuda-5.0
)
基本上,鏈接器首先找到的32位庫(-L
選項按順序搜索),並返回甚至警告,如果它最終找到適當的圖書館。
你可能需要$CUDA_HOME/lib
之前添加$CUDA_HOME/lib64
您LD_LIBRARY_PATH
環境變量,以便ld
可以在32位版本之前,找到適合您的64位架構的正確的庫。
你想編譯一個64位代碼嗎?如果是這樣,您需要鏈接到必須位於'/ usr/local/cuda-5.0/lib64/libcudart.so'中的64位版本。 – BenC