如何在 OS X High Sierra 10.13.2 上为 CUDA 9.1 安装 NVIDIA CuDNN v7 for Tensorflow?
Posted
技术标签:
【中文标题】如何在 OS X High Sierra 10.13.2 上为 CUDA 9.1 安装 NVIDIA CuDNN v7 for Tensorflow?【英文标题】:How to install NVIDIA CuDNN v7 for CUDA 9.1 for Tensorflow on OS X High Sierra 10.13.2? 【发布时间】:2018-06-02 14:09:08 【问题描述】:我正在尝试在我的 Mac OSX 10.13.2 上从源代码安装适用于 Python3.6 的 Tensorflow-GPU。
安装过程是……
我为我的 Geforce GT-750M 安装了 Nvidia-Web-Driver 并进行了更新。
已安装并更新至 CUDA 驱动程序 v387.99(GPU 驱动程序版本:378.10.10.10.25.102)。
我尝试为 CUDA 9.1 安装 CuDNN v7。
但我无法从 NVIDIA 网站上找到适合我的 Mac 的版本。 https://developer.nvidia.com/rdp/cudnn-download
我努力安装 Tensorflow,尝试了所有我能想到的方法,但都失败了,我在下面遇到了同样的错误。
nvcc 致命:不支持主机编译器('Apple clang')的版本('90000')
即使我在运行编译 CUDA 9.1 示例代码的命令时也遇到了同样的错误。
$make -C 0_Simple/vectorAdd
错误是...
/Developer/NVIDIA/CUDA-9.1/bin/nvcc -ccbin clang++ -I../../common/inc -m64 -Xcompiler -arch -Xcompiler x86_64 -gencode arch=compute_30,code=sm_30 -gencode arch =compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code= sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_70,code=compute_70 -o vectorAdd.o -c vectorAdd.cu nvcc 致命:不支持主机编译器('Apple clang')的版本('90000') make: *** [vectorAdd.o] 错误 1
我该如何解决这个问题?我需要你们的帮助。
这些是我的开发环境信息。
$uname -a
Darwin Kenneth-MBP.local 17.3.0 达尔文内核版本 17.3.0:2017 年 11 月 9 日星期四 18:09:22 PST;根:xnu-4570.31.3~1/RELEASE_X86_64 x86_64
$cmake --version
cmake 版本 3.10.1
$clang --version
Apple LLVM 版本 9.0.0 (clang-900.0.39.2) 目标:x86_64-apple-darwin17.3.0 线程模型:posix 安装目录:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$nvcc --version
nvcc:NVIDIA (R) Cuda 编译器驱动程序 版权所有 (c) 2005-2017 NVIDIA Corporation 建于 Fri_Nov__3_21:08:57_CDT_2017 Cuda 编译工具,9.1 版,V9.1.85
$git describe --tags # Tensorflow
v1.3.0-rc1-6207-ge210cb140a
GPU 驱动程序 - NVIDIA GT 750M
GPU 驱动程序版本:378.10.10.10.25.102,
CUDA 驱动程序
CUDA 驱动程序版本:387.99
提前谢谢你。
【问题讨论】:
正如文档明确指出的那样,CUDA 9.1 仅支持 10.12 谢谢Talonmies。终于知道原因了,根据官网,GPU只支持1.12以下的Tensorflow版本。 没有。错误nvcc fatal: The version ('90000') of the host compiler ('Apple clang') is not supported
是因为您的 XCode 版本和操作系统与您使用的 CUDA 工具包不兼容
@talonmies CUDA 9.1、9.0、8 等在 10.13 上工作得很好。
【参考方案1】:
您可能想要更新这篇文章的标题。这里发生了很多事情,似乎主要是关于在不受支持的配置中安装 Tensorflow。
首先,cuDNN 仅适用于 CUDA 9.0,所以我会避开 CUDA 9.1。在 macOS 10.13 上构建 CUDA 应用程序的技巧是拥有 Xcode 8.2 并在构建期间切换命令行工具。 Xcode 9 中较新的编译器不适用于 nvcc。
为了构建 Tensorflow,需要制作一些补丁,参考 here。黄金在 cmets 中(尤其是 OpenMP 部分)。不要忘记禁用 SIP(系统完整性保护)。
如果您想尝试一下,我在分支v1-4-1-high-sierra-cuda
中有一个 Tensorflow 的分支,已经应用了修改和一个超级基本的build_high_sierra.sh
脚本。在 12 核野兽上编译需要 15 分钟以上,因此请注意(并确保将 COMPILE_CORES
从 24 减少)。
构建起来有点痛苦。您可以尝试我在发布部分发布的预编译二进制文件之一。只要您安装了前提条件(CUDA 9.0 和适当的 cuDNN),无论如何构建都需要这些前提条件,它就可以工作。
https://github.com/pestilence669/tensorflow/releases/tag/1.4.1_high_sierra_cuda_xmas
【讨论】:
以上是关于如何在 OS X High Sierra 10.13.2 上为 CUDA 9.1 安装 NVIDIA CuDNN v7 for Tensorflow?的主要内容,如果未能解决你的问题,请参考以下文章
sh Mac OS X High Sierra / PHP Apache httpd配置节点NPM
nginx 在本地主机上抛出 403,可能是由于 OS X High Sierra?
macmac os X更新High Sierra后出现的问题
在 OS X 10.11 El Capitan、macOS 10.12 Sierra、macOS 10.13 High Sierra (< 10.13.3) 上安装 pecl 和 pear
无法在 Mac OS X 10.13 High Sierra 中为自制软件 chown /usr/local
Mac git pull失败,最新操作系统导致 SSH issues with Mac OS X High Sierra