我的设置:
/usr/local
(我也编译了自己的OpenBLAS,但问题仍然存在)site.cfg
找到OpenBLAS,并安装在virtualenv中。问题:Numpy很慢并且总是使用单个线程。 OMP_NUM_THREADS
不受尊重。无论是否设置OMP_NUM_THREADS
,我的测试用例(矩阵乘法)需要16秒。
还有一个Python 2.7解释器,其numpy链接到相同的OpenBLAS安装。多线程适用于该解释器,如果未设置OMP_NUM_THREADS
则相同的测试用例需要2.3秒,如果OMP_NUM_THREADS=8
则为2.5秒,如果OMP_NUM_THREADS=1
则为13秒。
同样奇怪的是,我必须在LD_LIBRARY_PATH
环境变量中指定OpenBLAS库的位置才能使用我的设置,即使我在编译numpy之前在site.cfg
中提供了路径。如果我在Python 2中使用numpy,这不是必需的。我错过了哪些步骤?