openmp 安装失败的表象
torch.setnumthreads(3)
print(torch.getnumthreads()) --打印 3,否则表明torch并没有cpu并行的能力。
或者安装时,出现检测openmp失败的提示。
mac上要使用openmp,只要装一个版本高点的gcc就可以了。
- 终端要能上internet
- 装homebrew
- brew install gcc
- 调整mac终端的默认gcc到你的版本。
# 终端上网方法:
export http_proxy=http://serverIP:serverPort
export https_proxy=http://serverIP:serverPort
# proxy server自己建,方法很多也很简单。
export PATH="/usr/local/bin:"$PATH # 确保这个每次要用gcc时是有效的。
cd /usr/local/bin
sudo mv gcc gcc.apple
ln -s gcc-7 gcc # 这个7是版本号
cd /usr/bin
ln -s g++-7 /usr/local/bin/g++
torch 安装
# install.sh
export CC=gcc
exprot CXX=g++
# 在确保默认gcc,g++支持openmp的情况下,以上修改方式就足够了。否则仍然有可能失败。
torch7的cpu并行效率
其实并不理想,2线程较1线程有10%提高,之后再增加就是浪费了。这其中还有很多小技巧,也许能提高效率,但是,还是建议用gpu吧。