根据
https://www.tensorflow.org/install/install_mac注意:从版本1.2开始,TensorFlow不再在Mac OS X上提供GPU支持。 不再提供对OS X的GPU支持。
但是,我想通过thunderbolt 3来运行像a ti一样的e-gpu设置。
要使此设置生效,需要执行哪些步骤? 到目前为止,我知道
是必需的。还有什么需要让CUDA / tensorflow工作?
答案 0 :(得分:22)
我在compiling TensorFlow 1.2 with GPU support on macOS上写了一个小教程。我认为将相关部分复制到SO是习惯做法,所以在这里:
pip install tensorflow-gpu
。一旦你开始工作,如果你正在编译TensorFlow,那么CUDA设置也会有效。如果您有外置GPU,YellowPillow的回答(或mine)可能会帮助您完成设置。git checkout r1.0
替换为git checkout r1.2
。
在执行./configure
时,请注意Python库路径:它有时会提示不正确的路径。在大多数情况下,我选择了默认选项,除了:Python库路径,CUDA支持和计算容量。不要使用Clang作为CUDA编译器:这将导致错误“不一致的crosstool配置;没有工具链对应于' local_darwin'找到了cpu' darwin'。“使用/usr/bin/gcc
作为编译器实际上将使用macOS / XCode附带的Clang。以下是我的完整配置。tensorflow/third_party/gpus/cuda/BUILD.tpl
的第98行,contained linkopts = [“-lgomp”]
(但该行的位置可能会明显改变)。有些人had issues with zmuldefs,但我认为是早期版本;感谢udnaan指出可以对这些行进行评论。使用python库路径:/Users/m/code/3rd/conda/envs/p3gpu/lib/python3.6/site-packages
您是否希望使用MKL支持构建TensorFlow? [y / N] N
不会为TensorFlow启用MKL支持
当bazel选项" - config = opt"时,请指定在编译期间使用的优化标志。指定[Default is -march = native]:
您是否希望通过Google Cloud Platform支持构建TensorFlow? [Y / N]
不会为TensorFlow启用Google Cloud Platform支持
您是否希望使用Hadoop文件系统支持构建TensorFlow? [Y / N]
不会为TensorFlow启用Hadoop文件系统支持
您是否希望使用XLA即时编译器(实验性)构建TensorFlow? [Y / N]
不会为TensorFlow启用XLA支持
您是否希望在支持VERBS的情况下构建TensorFlow? [Y / N]
不会为TensorFlow启用VERBS支持
您是否希望在OpenCL支持下构建TensorFlow? [Y / N]
不会为TensorFlow启用OpenCL支持
您是否希望通过CUDA支持构建TensorFlow? [y / N] y
将为TensorFlow启用CUDA支持
你想使用clang作为CUDA编译器吗? [Y / N]
nvcc将用作CUDA编译器
请指定您要使用的CUDA SDK版本,例如7.0。 [留空以使用系统默认值]:
请指定安装CUDA工具包的位置。有关更多详细信息,请参阅README.md。 [默认为/ usr / local / cuda]:
请指定nvcc应使用哪个gcc作为主机编译器。 [默认为/ usr / bin / gcc]:
请指定您要使用的cuDNN版本。 [留空以使用系统默认值]:
请指定cuDNN库的安装位置。有关更多详细信息,请参阅README.md。 [默认为/ usr / local / cuda]:
请指定您要构建的以逗号分隔的Cuda计算功能列表。
您可以在https://developer.nvidia.com/cuda-gpus找到设备的计算功能。
请注意,每个额外的计算功能都会显着增加构建时间和二进制文件大小。
[默认为:" 3.5,5.2"]:6.1
信息:开始清洁(这可能需要一段时间)。如果清理时间超过几分钟,请考虑使用--async。
配置完成
答案 1 :(得分:7)
假设您已经设置了eGPU盒并将TB3电缆从eGPU连接到TB3端口:
<强> 1。下载automate-eGPU脚本并运行
curl -o ~/Desktop/automate-eGPU.sh
https://raw.githubusercontent.com/goalque/automate-eGPU/master/automate-eGPU.sh
&& chmod +x ~/Desktop/automate-eGPU.sh && cd ~/Desktop && sudo
./automate-eGPU.sh
您可能会收到错误消息:
“启动到恢复分区并键入:csrutil disable”
您现在需要做的就是重新启动计算机,并在重新启动时按住cmd + R
以启用恢复模式。然后在恢复模式下找到终端并输入:
csrutil disable
然后重新启动计算机并重新运行automate-eGPU.sh
脚本
2:下载并安装CUDA
运行cuda_8.0.61_mac.dmg
文件并按照安装阶段进行操作。然后你需要设置路径。
转到您的终端并输入:
vim ~/.bash_profile
或者您是否已存储环境变量,然后添加以下三行:
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME:$CUDA_HOME/extras/CUPTI/lib"
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
第3。下载并安装cuDNN
下载cuDNN有点麻烦,你必须注册成为Nvidia的开发人员,然后你可以下载它。确保下载cuDNN v5.1 Library for OSX
,因为它是Tensorflow v1.1所期望的那样注意我们不能使用Tensorflow v1.2,因为Mac没有GPU支持:((
[![在此处输入图像说明] [1]] [1]
现在您将下载一个名为cudnn-8.0-osx-x64-v5.1.tgz
的zip文件,解压缩,并将创建一个名为cuda
的文件并使用终端cd到它。假设文件夹位于下载
打开终端并输入:
cd ~/Downloads/cuda
现在我们需要将cuDNN
个文件复制到CUDA
存储的位置,以便:
sudo cp include/* /usr/local/cuda/include/
sudo cp lib/* /usr/local/cuda/lib/
<强> 4。现在在conda / virtualenv中安装Tensorflow-GPU v1.1
对我来说,因为我使用conda
我使用终端创建了一个新环境:
conda create -n egpu python=3
source activate egpu
pip install tensorflow-gpu # should install version 1.1
<强> 5。验证它是否有效
首先,您必须重新启动计算机:
在终端类型python
中输入:
import tensorflow as tf
with tf.device('/gpu:0'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.Session() as sess:
print (sess.run(c))
如果你有一个GPU应该运行没有问题,如果它有,那么你应该得到一个堆栈跟踪(只是一堆错误消息),它应该包括
无法将设备分配给节点'MatMul':无法满足显式设备规范'/ device:GPU:0',因为在此过程中没有注册与该规范匹配的设备
如果没有那么你就完成了祝贺!我今天刚刚安装了它并且它工作正常:)
答案 2 :(得分:6)
我终于可以使用以下设置
我写了一个关于程序的要点:
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
答案 3 :(得分:2)
这是我在mac上安装e-gpu的解决方案。 Tensorflow不再支持tensorflow-gpu,所以肯定有更好的方法让它工作:
我的配置:
Windows bootcamp安装的优点:
<强> HOWTO:强>
命令:
pip install tensorflow-gpu==1.5.0rc0
检查您的安装
当您可以将屏幕插入GTX 1080 ti卡时,显示驱动程序已正确安装。
调用C:\ Program Files \ NVIDIA Corporation \ NVSMI \ nvidia-smi.exe检查您的视频卡是否可用于CUDA。
执行以下tensorflow命令以查看可用设备:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
疑难解答和提示:
Ubuntu解决方案:
我找不到可行的解决方案,但这里有一些方法:
似乎我的GTX 680(iMac)和我的GTX 1080 ti无法一起使用。通过apt-get:Ubuntu not starting anmore安装显示驱动程序后,无法再启动Ubuntu。尝试从NVIDIA download page下载官方显示驱动程序。
OSX解决方案: Tensorflow GPU仅支持tensorflow 1.1。我试图安装更新版本,但无法使用cuda支持构建tensorflow-gpu。以下是一些方法:
<强>结论:强> Windows安装比OSX或Ubuntu安装更容易,因为显示驱动程序正常工作和tensorflow,不能自己构建。始终检查您使用的软件版本。必须完全匹配。
我希望这会对你有所帮助!