说一下哈,有两个人回复我通过 MKL 的设定可以给 Ryzen 开启 AVX2,你们的回复被百度给吞了(可能只有你们自己能看到自己发的帖子,我在回复里边也能看到,但是其他人包括我在这个帖子里都看不到)。
这种修改设定开启使得 MKL 给 AMD 用 AVX2 的方法之前就有,归根结底还是因为用的 Intel 的 MKL,命脉掐在别人手里,试想如果 MKL 彻底不给你用怎么办,你可以用其他的 BLAS/Lapack,例如最快的开源的由中科院维护的 openBLAS,但是性能依然总体上输给 MKL,因为 MKL 是专为 Intel 优化的。而且不光是性能,如果你用 MKL 那么 Intel 还可以给你挖坑,能利用实现方法拖慢 AMD 上的性能(并不需要判断 CPU 是否是 AMD 这种作弊行为,而是直接利用 CPU 性能的不同)更严重的是让你正确性都不一定能保障。
所以还是 AMD 还是得有自己的 vendor-specific 的数学库来应对。
这种修改设定开启使得 MKL 给 AMD 用 AVX2 的方法之前就有,归根结底还是因为用的 Intel 的 MKL,命脉掐在别人手里,试想如果 MKL 彻底不给你用怎么办,你可以用其他的 BLAS/Lapack,例如最快的开源的由中科院维护的 openBLAS,但是性能依然总体上输给 MKL,因为 MKL 是专为 Intel 优化的。而且不光是性能,如果你用 MKL 那么 Intel 还可以给你挖坑,能利用实现方法拖慢 AMD 上的性能(并不需要判断 CPU 是否是 AMD 这种作弊行为,而是直接利用 CPU 性能的不同)更严重的是让你正确性都不一定能保障。
所以还是 AMD 还是得有自己的 vendor-specific 的数学库来应对。