Skip to content

Latest commit

 

History

History
39 lines (23 loc) · 1.6 KB

41.md

File metadata and controls

39 lines (23 loc) · 1.6 KB

Pythran 作为 Numpy 后端

原文: http://docs.cython.org/en/latest/src/userguide/numpy_pythran.html

使用标志--np-pythran,可以将 Pythran numpy 实现用于与 numpy 相关的操作。使用此后端的一个优点是 Pythran 实现使用 C ++表达式模板来节省内存传输,并且可以受益于现代 CPU 的 SIMD 指令。

在某些情况下,这可以带来非常有趣的加速,从 2 到 16,具体取决于目标 CPU 架构和原始算法。

请注意,此功能是实验性的。

使用 distutils 的用法示例

你首先需要安装 Pythran。有关更多信息,请参见其文档

然后,只需在 Python 文件的顶部添加一个cython: np_pythran=True指令,该指令需要使用 Pythran numpy 支持进行编译。

以下是使用 distutils 的简单setup.py文件的示例:

from distutils.core import setup
from Cython.Build import cythonize

setup(
    name = "My hello app",
    ext_modules = cythonize('hello_pythran.pyx')
)

然后,使用hello_pythran.pyx中的以下标题:

# cython: np_pythran=True

hello_pythran.pyx将使用 Pythran numpy 支持编译。

请注意,可以通过在$HOME/.pythranrc文件中添加设置来进一步调整 Pythran。例如,这可以用于启用 Boost.SIMD 支持。有关更多信息,请参见 Pythran 用户手册