我的目标是使用 Intel Python 来加速一些NumPy
过程,主要是 FFT 函数。但是当我Intel Python
在 docker 内部使用时,它的效率与“普通”Python 相同。我该如何解决?
一些有用的信息,为了测试那些 python 的效率,我使用了这个简单的脚本:
import numpy as np
A = np.random.rand(5000,5000)
B = np.dot(A, A)
结果:
Python 2.7
在泊坞窗外使用:
time python bench.py
real 0m5,207s
user 0m16,714s
sys 0m0,960s
使用Intel Python
docker 外部(使用安装显示在此链接中的环境):
time python bench.py
real 0m3,744s
user 0m6,269s
sys 0m0,184s
区别很明显,但是当我进行相同的测试但使用 dockers 环境时,相同的测试显示相同的时间。
Python 2.7
在泊坞窗内使用:
time python bench.py
real 0m5.686s
user 0m18.060s
sys 0m1.045s
time python bench.py
real 0m4.871s
user 0m16.641s
sys 0m1.134s
time python bench.py
real 0m4.681s
user 0m16.805s
sys 0m0.635s
time python bench.py
real 0m4.804s
user 0m17.058s
sys 0m0.706s
time python bench.py
real 0m4.710s
user 0m17.057s
sys 0m0.607s
结果非常接近 docker 之外的结果。
使用Intel Python
docker内部:
time python bench.py
real 0m7.394s
user 0m18.744s
sys 0m1.931s
time python bench.py
real 0m4.705s
user 0m16.449s
sys 0m0.786s
time python bench.py
real 0m4.721s
user 0m16.495s
sys 0m0.809s
time python bench.py
real 0m4.735s
user 0m16.929s
sys 0m0.694s
为什么两条蟒蛇在 docker 内的效率相同?我做错了什么?我的测试由于某种原因无效?
而且我很确定我Intel Python
在 docker 内部使用,因为当只是python
在 docker 内部的 bash 上使用命令时,这是输出:
Python 2.7.14 |Intel Corporation| (default, Aug 3 2018, 14:28:40)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux2
在另一个码头上,回报是:
Python 2.7.9 (default, Sep 25 2018, 20:42:16)
[GCC 4.9.2] on linux2