科学计算工作流程在 Apple M1 硬件上的表现如何

计算科学 scipy r
2021-12-07 00:23:53

Apple M1 硬件的第一波评论已经结束,有很多通用基准和有关创意用户专业程序工作流程的数据,但我还没有看到有人谈论使用 Python 中的科学计算生态系统之类的体验或 R。

有没有人有这方面的直接经验?或者看过评论?Rosetta 2 仿真在这些应用程序空间中的性能或在编译非二进制包的情况下如何?

3个回答

我一直在衡量生态系统是否准备就绪的方式是自制包管理器的过渡情况如何。他们一直在通过 github issue 仔细记录在苹果芯片上运行的进展情况。除了@Federico Poloni 的观点之外,最大的问题是 GCC 本身还没有工作,这也是 homebrew 上的许多软件包还没有工作的原因。现在这并不意味着一堆东西不起作用,但我认为这是一个很好的“煤矿中的金丝雀”。最终可能会像 Clang 和Flang这样的东西在苹果芯片上更完全地取代 GCC 工具链。

由此看来似乎还没有功能性的本机 Fortran 编译器。如果真的是这样的话,事情看起来就惨淡了。几乎任何使用线性代数的东西都包括一些 Fortran 代码(Lapack),而且它必须运行得很快

Iain Sandoe 一直致力于将 gcc 和 gFortran 移植到这个架构中。基于此,François-Xavier Coudert 为 M1 创建了一个实验性 gFortran版本。我在这里提供了一些 Fortran 基准大概这被用于提供 M1 本机 numpy 的miniforge Python 版本。有人还怀疑这是 leman 用来为 R 提供本地 M1 基准的东西。但是,尚不清楚该构建如何处理R 对非数字值的使用很明显,Tomas Kalibera 和 Simon Urbanek 正在研究一个强大的原生 R 解决方案,但他们没有提供时间表。

我在Github上为大量神经影像数据提供了基准科学计算的挑战在于有很多不同的利基市场。神经影像数据的性质意味着管道往往受到内存带宽的限制,而不是计算能力。这使得 M1 在这个领域表现出色,但我的发现可能无法推广到其他领域。