Dougall Johnson知道这些库将使用AMX协处理器来加快计算速度。因此,他编写了一些特殊程序来分析和观察这些程序做了什么,以发现未记录的特殊AMX机器代码指令。但为什么苹果公司不记录下来,让我们直接使用这些指令呢?如前所述,这是ARM公司希望避免的事情。如果自定义指令被广泛使用,可能会使ARM生态系统碎片化。然而更重要的是,这对苹果来说是一个优势。通过仅允许他们的库使用这些特殊指令,苹果保留了以后从根本上改变这个硬件工作方式的自由。他们可以删除或添加AMX指令。或者他们可以让神经引擎来完成这项工作。无论哪种方式,他们都会让开发者的工作变得更容易。开发者只需要使用Accelerate框架,就可以忽略苹果如何专门加快矩阵计算的速度。这是苹果通过垂直整合获得的最大优势之一。通过控制硬件和软件,他们可以利用这些技巧。那么下一个问题是这有多大的意义?就性能和功能而言,这对苹果有什么好处?NodLabs是一家从事机器交互,智能和感知的公司。快速矩阵运算自然是他们的兴趣所在。他们写了一篇有关AMX性能测试的技术性很强的博客文章:比较Apple的M1 matmul性能-AMX2 vs NEON。https://nod.ai/comparing-apple-m1-with-amx2-m1-with-neon/他们要做的是比较用AMX做类似代码的性能和用ARM官方支持的Neon指令做的性能。Neon是SIMD指令的一种。Nod实验室发现,通过使用AMX,他们能够获得Neon指令两倍的矩阵运算性能。这并不意味着AMX对所有事情都更好,但至少对于机器学习和高性能计算(HPC)类型的工作,我们可以期待AMX给竞争者带来优势。苹果矩阵协处理器看起来是一些相当令人印象深刻的硬件,让苹果的ARM处理器在机器学习和HPC相关的工作中占据优势。推荐阅读: