编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

苹果M1芯片可以加速NumPy计算速度

wxchong 2024-07-15 09:46:24 开源技术 38 ℃ 0 评论

使用苹果M1芯片的朋友们看过来。你们的电脑可以自己下载NumPy源代码然后编译安装,可以获得更好的性能。

苹果在自家系统中提供了Accelerate框架,用以加速各种计算。自己编译NumPy链接到苹果的Accelerate框架可以有更好的运行速度。NumPy1.21版本可以基于苹果硬件和系统进行编译,性能上有很好的提升。

安装步骤

下载NumPy源代码并基于M1芯片加速器编安装过程如下:

1、下载numpy源代码:

https://github.com/numpy/numpy

2、在源代码文件夹中创建site.cfg文件,增加如下内容:

[accelerate]

libraries = Accelerate, vecLib

3、使用?NPY_LAPACK_ORDER=accelerate python3 setup.py build编译

4、使用 pip3 install 安装


性能对比

一些性能对比结果如下:

上图中系列一、二、三含义分别是三个版本的NumPy:

单线程OpenBlas

多线程OpenBlas

苹果Accelerate

在三个编译版本和五种计算中,基于苹果Accelerate编译的运行在M1上的NumPy速度都是最快的。优势非常明显。

对比项目

单线程OpenBlas

多线程OpenBlas

苹果Accelerate

两个4096*4096矩阵相乘(秒)

2.9

0.56

0.28

两个524288向量相乘(毫秒)

0.25

0.26

0.11

2048*1024大小矩阵svd(秒)

0.81

3.15

0.47

2048*2048矩阵Cholesky分解(秒)

0.11

0.08

0.06

2048*2048矩阵特征分解(秒)

5.36

10.17

4.98

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表