是否有使用 intel svml(短向量数学库)编译的 anaconda 版本?
Is there a version of anaconda compiled with intel svml (Short Vector Math Library)?
我在基于英特尔 icc/icpc 编译器的 C++ 项目上做了很多工作,默认情况下,它使用令人印象深刻的矢量化库 svml。
我最近还看到 anaconda 现在使用来自 intel MKL(数学内核库)的优化。
所以我的问题是:
是否存在使用 intel svml(短向量数学库)编译的 anaconda 的现有版本,可以显着提高性能?
英特尔编译器的矢量化器可以隐式使用英特尔 SVML。我不知道 Python 现在直接使用 SVML,但 Intel is working on binding all the possible Intel Performance Libraries 到性能关键的 Python 模块,如 Numpy/Scipy 并使用启用矢量化的英特尔编译器编译它们。
这些模块现已在 Intel channel anaconda.org 上可用(目前处于测试版)。
还有Intel VML library which generalizes SVML to work with longer vectors/arrays, and it is already used to accelerate Numexpr.
#iamintel
使用带有正确参数的正确包,您可能会从中受益。如果您使用 numba and have icc-rt installed can (now) use Intel SVML, as detailed on this benchmark(为了完整起见转载如下)。
基准本身是一个大数组的平方根之和。
+-----------------------------------+--------+-------------------+
| ``@njit`` kwargs | SVML | Execution time |
+===================================+========+===================+
| ``None`` | No | 5.95s |
+-----------------------------------+--------+-------------------+
| ``None`` | Yes | 2.26s |
+-----------------------------------+--------+-------------------+
| ``fastmath=True`` | No | 5.97s |
+-----------------------------------+--------+-------------------+
| ``fastmath=True`` | Yes | 1.8s |
+-----------------------------------+--------+-------------------+
| ``parallel=True`` | No | 1.36s |
+-----------------------------------+--------+-------------------+
| ``parallel=True`` | Yes | 0.624s |
+-----------------------------------+--------+-------------------+
| ``parallel=True, fastmath=True`` | No | 1.32s |
+-----------------------------------+--------+-------------------+
| ``parallel=True, fastmath=True`` | Yes | 0.576s |
+-----------------------------------+--------+-------------------+
我在基于英特尔 icc/icpc 编译器的 C++ 项目上做了很多工作,默认情况下,它使用令人印象深刻的矢量化库 svml。
我最近还看到 anaconda 现在使用来自 intel MKL(数学内核库)的优化。
所以我的问题是:
是否存在使用 intel svml(短向量数学库)编译的 anaconda 的现有版本,可以显着提高性能?
英特尔编译器的矢量化器可以隐式使用英特尔 SVML。我不知道 Python 现在直接使用 SVML,但 Intel is working on binding all the possible Intel Performance Libraries 到性能关键的 Python 模块,如 Numpy/Scipy 并使用启用矢量化的英特尔编译器编译它们。
这些模块现已在 Intel channel anaconda.org 上可用(目前处于测试版)。
还有Intel VML library which generalizes SVML to work with longer vectors/arrays, and it is already used to accelerate Numexpr.
#iamintel
使用带有正确参数的正确包,您可能会从中受益。如果您使用 numba and have icc-rt installed can (now) use Intel SVML, as detailed on this benchmark(为了完整起见转载如下)。
基准本身是一个大数组的平方根之和。
+-----------------------------------+--------+-------------------+
| ``@njit`` kwargs | SVML | Execution time |
+===================================+========+===================+
| ``None`` | No | 5.95s |
+-----------------------------------+--------+-------------------+
| ``None`` | Yes | 2.26s |
+-----------------------------------+--------+-------------------+
| ``fastmath=True`` | No | 5.97s |
+-----------------------------------+--------+-------------------+
| ``fastmath=True`` | Yes | 1.8s |
+-----------------------------------+--------+-------------------+
| ``parallel=True`` | No | 1.36s |
+-----------------------------------+--------+-------------------+
| ``parallel=True`` | Yes | 0.624s |
+-----------------------------------+--------+-------------------+
| ``parallel=True, fastmath=True`` | No | 1.32s |
+-----------------------------------+--------+-------------------+
| ``parallel=True, fastmath=True`` | Yes | 0.576s |
+-----------------------------------+--------+-------------------+