首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从连接到苹果的源代码中构建NumPy加速框架?

如何从连接到苹果的源代码中构建NumPy加速框架?
EN

Stack Overflow用户
提问于 2021-11-05 05:24:47
回答 2查看 2.4K关注 0票数 4

据我所知,NumPy在1.20.0版本中放弃了对使用加速BLAS和LAPACK的支持。根据NumPy 1.21.1的发行说明,这些but已经解决了,现在可以使用MacOS >= 11.3上的加速框架从源代码构建NumPy了:https://numpy.org/doc/stable/release/1.21.0-notes.html,但我找不到任何关于如何这样做的文档。这似乎是一个有趣的尝试和做,因为加速框架应该是高度优化的M系列处理器。我想这个过程是这样的:

  1. 下载numpy源代码文件夹并导航到该文件夹。
  2. 生成一个类似于

site.cfg文件。

代码语言:javascript
复制
[DEFAULT]
library_dirs = /some/directory/
include_dirs = /some/other/directory/

[accelerate]
libraries = Accelerate, vecLib

运行python setup.py build

问题是,我不知道1.变量library_dirsinclude_dirs应该是什么,以便NumPy知道使用加速BLAS和LAPACK;2.如果还有其他需要执行的步骤的话。如果有人知道如何做到这一点,或能提供任何洞察力,这将是非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-07 03:12:25

我今天早些时候确实尝试过这样做,下面是我使用的步骤:

  • site.cfg文件中放置

代码语言:javascript
复制
[accelerate]
libraries = Accelerate, vecLib

NPY_LAPACK_ORDER=accelerate python3 setup.py build构建

pip3 install .安装

之后,np.show_config()返回了以下内容

代码语言:javascript
复制
blas_mkl_info:
  NOT AVAILABLE
blis_info:
  NOT AVAILABLE
openblas_info:
  NOT AVAILABLE
accelerate_info:
    extra_compile_args = ['-I/System/Library/Frameworks/vecLib.framework/Headers']
    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
    define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]
blas_opt_info:
    extra_compile_args = ['-I/System/Library/Frameworks/vecLib.framework/Headers']
    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
    define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]
lapack_mkl_info:
  NOT AVAILABLE
openblas_lapack_info:
  NOT AVAILABLE
openblas_clapack_info:
  NOT AVAILABLE
flame_info:
  NOT AVAILABLE
lapack_opt_info:
    extra_compile_args = ['-I/System/Library/Frameworks/vecLib.framework/Headers']
    extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
    define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]
Supported SIMD extensions in this NumPy install:
    baseline = NEON,NEON_FP16,NEON_VFPV4,ASIMD
    found = ASIMDHP,ASIMDDP
    not found = 

我的快速测试表明,相对于OpenBlas,性能有了很大的提高。

票数 2
EN

Stack Overflow用户

发布于 2022-02-25 17:57:18

不,没必要那么复杂。我使用了这两个命令,并能够安装numpy与苹果加速的Mac M1。

代码语言:javascript
复制
pip install cython pybind11
pip install --no-binary :all: --no-use-pep517 numpy

参考资料:How to install SciPy on Apple Silicon (ARM / M1)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69848969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档