如果您使用过 Matlab 并且是最新的,您可能已经注意到,最近几个月,与英特尔芯片相比,AMD CPU 在软件方面的表现非常糟糕。这对学生和研究人员来说是一个巨大的耻辱,如果他们使用 AMD Ryzen 或 AMD Threadripper 芯片,他们会看到时间被浪费了。然而,那些日子现在应该结束了,因为从 Matlab 版本 R2020a 开始,Mathworks 已经实施了一个修复程序,正如ExtremeTech所发现的那样。

Mathworks 将Matlab描述为统一桌面环境的一个选项,“针对迭代分析和设计过程与直接表达矩阵和数组数学的编程语言进行了调整”。它的功能之一允许用户创建结合“可执行笔记本中的代码、输出和格式化文本”的脚本。

在 Matlab 更新之前,AMD 用户有一个解决方法。本质上,性能问题源于英特尔数学内核库 (MKL) 的使用,当使用非英特尔 CPU 时,它会回退到 SSE1 SIMD 扩展,而不是效率更高的 SSSE2、SSE4、AVX1 或 AVX2 扩展.

现在,AMD 的芯片确实支持 AVX2 扩展,因此解决方法只是强制 MKL 无论如何都在 Ryzen 和 Threadripper 芯片上使用 AVX2 扩展,正如四个月前 Redditor nedflanders1976所详述的那样。

在大多数情况下,这对许多研究人员来说并不是问题,因为许多研究机构一直在忠实地使用英特尔芯片。然而,在选择更经济实惠的 AMD 系统的学生中,这是一个令人沮丧的痛点,随着 AMD 的主导地位日益增强,许多人会喜欢这个修复。

当然,要获得修复,您必须使用 Matlab 的许可版本,这通常通过您的大学或研究所进行。