kok体育投注平台体育
当前位置:首页 > 新闻资讯

新闻中心

kok体育网址:Matlab现在可以在AMD CPU上全速运行
来源:kok体育网址 时间:2020-05-22 14:23:58

几个月前,我们介绍了Mathwork的Matlab软件如何无法全速运行AMD CPU上的工作负载。这些产品使用Intel Math Kernel Library,它将仅在Intel CPU上运行完全优化的代码。AMD CPU被迫使用另一种且速度慢得多的代码路径。尽管社区普遍猜测MathWorks可能无法或不愿意解决此问题,但该公司仍令我们所有人感到惊讶并予以解决。

根据NedFlanders1976(发表原始Reddit报告的同一个人)的说法,MathWorks已将永久性路径修复功能纳入其应用程序的最新版本Matlab 2020a。本质上,Matlab现在始终以允许其在AMD CPU上运行AVX2代码的模式启动。以前,您只能通过创建系统环境变量或特殊的批处理文件来启动该程序来强制使用此功能。

向Matlab致敬

我要感谢并感谢MathWorks愿意解决这个问题并且很快就解决了。我曾与我的同事David Cardinal进行过多次有关此主题的对话,他在软件开发方面比我有更多的经验。他在我们的讨论中提出的观点之一是,从软件开发人员的角度来看,这种情况的表现方式截然不同。个别开发人员可能不知道英特尔MKL不在非英特尔CPU上执行AVX2代码。即使开发人员确实知道,许多应用程序的用户群几乎完全基于Intel。如果您有90%到99%的客户都拥有Intel硬件,那么看起来AVX2代码路径问题就不会很紧迫。从软件开发人员的角度来看,与英特尔合作以最大程度提高用户选择购买英特尔处理器的应用程序的性能并不一定看起来不公平。AMD的Bulldozer衍生CPU的低性能一直困扰着这些问题,直到Ryzen推出为止,而仅仅是因为AMD在2017年推出了Ryzen并不意味着每个运行Matlab的人都会立即用完并购买一个。

考虑到开发人员可能不知道这些问题的影响,我认为仅凭他们如何解决问题来判断它们,而不是仅仅因为存在问题而立即假设恶意就可以判断它们。通过这些标准评估,MathWorks的响应非常出色-该公司在下一个主要应用程序更新中解决了该问题。尽管NedFlanders1976指出:“如果您将Matlab等其他软件(例如Anaconda,SymPy等)与Matlab一起使用,则您实际上可能希望保留该系统范围的变量,因为新修订仅适用于Matlab,”但他指出Matlab本身已适当更新。即使该修复未在Matlab 2020a发行说明中列出,MathWorks也在单独的讨论中确认了对ExtremeTech的更新。

并没有很多应用程序以这种方式依赖于英特尔的编译器或库,但是令人鼓舞的是,看到MathWorks迅速做出反应,以确保在Intel和AMD硬件上都能获得最佳性能。使用英特尔优化的库并没有错,但是如果公司打算这样做,则应告知用户这样做,从而允许客户购买最适合该任务的硬件。理想情况下,他们还将与其他CPU供应商合作,为其架构提供优化的代码路径,或者采取措施使AVX2代码在支持该代码的CPU上不受阻碍地运行。

下一篇:kok体育网站:英特尔酷睿i9-10900K泄漏表明CPU已准备好针对Ryzen 3000发起指控 上一篇:kok体育电竞:CONTROL获得DLSS 2.0它的外观和性能如何