pytorch 支持amd显卡吗_AMD黑苹果 使用numpy或pytorch或Adobe 报错Intel MKL ERROR: CPU 0 is not supported解决办法...

日期:2020-11-04

macos版本:10.15.7

Python版本:anaconda python 3.8

CPU:AMD Ryzen5 3600参考文档:

http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1860593

https://gist.github.com/naveenkrdy/26760ac5135deed6d0bb8902f6ceb6bd

https://github.com/pytorch/pytorch/issues/31106

报错原因:mac上的Python包numpy和pytorch以及adobe系软件依赖Intel MKL,MKL是英特尔数学核心函数库,AMD安装黑苹果时,MKL_DEBUG_CPU_TYPE会被错误地自动设置为0,导致numpy和pytorch以及adobe软件在读取这个配置时报错。

解决方法:似乎MKL_DEBUG_CPU_TYPE设置为5时表示avx2指令集,所以对于支持avx2指令集的处理器(比如Ryzen),可以将MKL_DEBUG_CPU_TYPE设置为5。可以在终端中执行export MKL_DEBUG_CPU_TYPE=5然后再启动Python并引入numpy包试一下看会不会再报错。

如果在终端中尝试有效,则复制以下命令到终端,并回车,使这个设置永久生效:

(此脚本参考https://github.com/pytorch/pytorch/issues/31106,如果你是想解决Adobe软件的问题,则原文档中还有另一个脚本需要执行)

[ ! -d $HOME/Library/LaunchAgents ] && mkdir $HOME/Library/LaunchAgents

AGENT=$HOME/Library/LaunchAgents/environment.plist

sysctl -n machdep.cpu.brand_string | grep FX >/dev/null 2>&1 #判断处理器是不是AMD FX系列

x=$(echo $(($? != 0 ? 5 : 4))) #如果是FX系列则x=4,否则x=5

cat >$AGENT <

Label

mkl-debug

ProgramArguments

sh

-c

launchctl setenv MKL_DEBUG_CPU_TYPE $x;

RunAtLoad

EOF

launchctl load ${AGENT} >/dev/null 2>&1

launchctl start ${AGENT} >/dev/null 2>&1

执行后重启软件生效。

你可能感兴趣的:(pytorch,支持amd显卡吗)