Matlab升级 AMD锐龙性能恢复满血:轻松提升60%
程序员文章站
2022-09-17 14:25:02
mathwork matlab是一款极为流行、权威的计算软件,但是去年11月的时候,有人发现amd锐龙处理器疑似被它“劣化”,无法正确调用最新指令集,导...
mathwork matlab是一款极为流行、权威的计算软件,但是去年11月的时候,有人发现amd锐龙处理器疑似被它“劣化”,无法正确调用最新指令集,导致性能残血。
具体来说,matlab会提前检测处理器身份,也就是cpuid字符串,如果找到genuineintel,也就是正品intel处理器,就会利用intel mkl(路径内核库),并调用avx2指令集,获得理想性能。
但如果是其他,比如authenticamd代表的amd处理器,就会无视其支持的sse4、avx、avx2等新指令集,只会使用古老的sse指令集,效率自然大大下降。
有开发者做过测试,如果改动系统环境变量,就可以让matlab将amd处理器识别成intel处理器,性能瞬间就能提升少则20%,多则300%!
matlab因此饱受质疑,不过幸运的是,在最新版的matlab 2020a中,这个问题终于被修复了,不管intel还是amd处理器,都会默认调用最新指令集。
实测表明,24核心的线程撕裂者3960x、32核心的线程撕裂者3970x在新版matlab中的性能比旧版分别可以提升48%、60%,从而领先18核心的酷睿i9-10980xe 52%、80%之多,而之前3960x可是打不过10980xe的。