苹果M1芯片科学计算(Numpy)计算速度

上一篇文章对比了M1芯片和英特尔传统的六核处理器在matlab上编译速度的差距。两者速度相当。有兴趣的朋友可以看一下~苹果M1芯片,MATLAB(2022a)性能测试

之所以选择i7-10750H作为参照对象,原因在于它是牙膏厂最为经典的笔记本端6核心12线程的处理器,和M1芯片属于同一时期。此外,i7-8750h,i7-9750H与其具有相同的核心和线程数,性能大差不差,大家应该非常熟悉,也是使用人群最广的。

这次分析一下M系列芯片用python的numpy包计算的速度。

一、概要

对于机器学习或者深度学习的从业人员来说,python的numpy包都是必不可少的。那么apple silicon目前对numpy的支持如何呢?,相较于传统的游戏本6核处理器,其性能是否占优?

二、实验设备及代码准备

2.1 实验代码

本节使用的代码是《深度学习进阶:自然语言处理》第八章中的一个例程。这是一本好书,写的较为浅显易懂,推荐NLP新手朋友们阅读!

采用的是书中第八章中的例程,即采用注意力机制的seq2seq模型,有一定的计算量。整个模型完全基于numpy来编写,并未使用任何深度学习框架。

2.2 实验设备

搭载i7-10750H的windows游戏本和M1 Macbook Air

三、实验结果

3.1 M1的表现

第一次实验171秒完成。

第二次和第三次分别为176秒和168秒

平均时长为172秒

用EUL看一下CPU的占用。cpu已经吃满了,说明numpy在M1上是没有兼容性问题的。

使用sudo powermetrics命令查看cpu的功耗情况。

这时候CPU的功耗已经达到了9.26W,如果再加上屏幕的功耗,那么整机的功耗肯定已经超过了10W,Macbook Air M1的电池容量为49.9瓦时,如果按照这个功耗水平,可以在高负载下坚持4-5小时,非常强。不过应该没人会拿笔记本跑一下午的科学计算吧QWQ。

3.2 i7-10750H的表现

注意这里是插电使用的,处理器的频率跑在4.27GHZ。

cpu的占用已经满了

接下来开始训练

第一次实验132秒完成,第二次和第三次均为138秒。平均时长136秒。intel的优势还是较为明显的,黑归黑,但intel的芯片至少在机器学习方面是绝对不弱的。再插一句,intel在sklearn里是可以调用加速库的。

但缺点也是非常明显的,用hwinfo看一下功耗,发现cpu已经来到了57W,这是M1的5-6倍。

四、总结

总体来讲,本文的测试仍不是非常严谨,大家多多见谅,但可以作为参考。M1的优势是其夸张的能效比和优秀的离电性能,并且对于numpy的兼容性已经非常不错了,而传统的intel 6核处理器也很优秀,在运行速度上占据上风,但高功耗是其缺点。

猜你喜欢

转载自blog.csdn.net/tortorish/article/details/128982101