是否有使用 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            |
+-----------------------------------+--------+-------------------+