0

我的目标是使用 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 Pythondocker 外部(使用安装显示在此链接中的环境):

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 Pythondocker内部:

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
4

0 回答 0