gpt4 book ai didi

macos - CUDA 5.0、CMake 和 Make 在 OSX 10.8.3 上失败

转载 作者:行者123 更新时间:2023-12-01 05:21:33 25 4
gpt4 key购买 nike

我尝试在 Mac OSX 10.8.3 上使用 CMake 编译一个简单的 CUDA“Hello World”。

调用 cmake .似乎成功了。这是我的 CMakeList.txt :

project(HelloWorld)
cmake_minimum_required(VERSION 2.8)

FIND_PACKAGE(CUDA)

CUDA_INCLUDE_DIRECTORIES(/Developer/NVIDIA/CUDA-5.0/samples/common/inc)
CUDA_ADD_EXECUTABLE(helloWorld helloWorld.cu)

...和输出:
-- The C compiler identification is Clang 4.2.0
-- The CXX compiler identification is Clang 4.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found CUDA: /Developer/NVIDIA/CUDA-5.0 (found version "5.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/mennny/Documents/UNI/6_Semester/0_PMPP/1_exercises/cuda-hello-world

但是打电话 make之后失败并出现以下错误:
[100%] Building NVCC (Device) object CMakeFiles/helloWorld.dir//./helloWorld_generated_helloWorld.cu.o
clang: error: unsupported option '-dumpspecs'
clang: error: no input files
CMake Error at helloWorld_generated_helloWorld.cu.o.cmake:206 (message): Error generating /Users/mennny/Documents/UNI/6_Semester/0_PMPP/1_exercises/cuda-hello-world/CMakeFiles/helloWorld.dir//./helloWorld_generated_helloWorld.cu.o


make[2]: *** [CMakeFiles/helloWorld.dir/./helloWorld_generated_helloWorld.cu.o] Error 1
make[1]: *** [CMakeFiles/helloWorld.dir/all] Error 2
make: *** [all] Error 2

我用谷歌搜索了显示的错误,但找不到任何足够的答案。
任何想法为什么 make失败,尽管 cmake成功了。

谢谢你的帮助。

最佳答案

XCode 中的默认 C 编译器在 OS X Lion 中更改为 CLang。 CLang 与 nvcc 不兼容,因此您需要更改 nvcc 用于非 cuda(主机)代码的编译器。将以下内容添加到您的 CMakeList.txt 将起作用:

if (NOT DEFINED CUDA_HOST_COMPILER AND CMAKE_C_COMPILER_ID STREQUAL "Clang" AND EXISTS /usr/bin/gcc)
set(CUDA_HOST_COMPILER /usr/bin/gcc CACHE FILEPATH "Host side compiler used by NVCC")
message(STATUS "Setting CMAKE_HOST_COMPILER to /usr/bin/gcc instead of ${CMAKE_C_COMPILER}.")
endif()

如有必要,调整 gcc 的路径。

关于macos - CUDA 5.0、CMake 和 Make 在 OSX 10.8.3 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16286588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com