Моя цель - использовать Intel Python для ускорения некоторого NumPy
процесса, в основном функции FFT.Но когда я использую Intel 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
вне докера (использование среды, как показывает установка по этой ссылке ):
time python bench.py
real 0m3,744s
user 0m6,269s
sys 0m0,184s
Разница очевидна, но когда я делаю тот же тест, но в среде докеров, тот же тест показывает то же время.
Использование 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
Результат действительноблизко к результату вне докера.
Использование Intel Python
внутри докера:
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
Почему оба питона имеют одинаковую эффективность внутри докера?Я делаю что-то не так?Мой тест по какой-то причине недействителен?
И я вполне уверен, что я использую Intel Python
внутри докера, потому что когда вы просто используете команду python
на 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