Fortran Coder

楼主: gps99
打印 上一主题 下一主题

[线性代数] 关于几个数学工具,矩阵运算速度的初步测试

[复制链接]

7

帖子

0

主题

0

精华

入门

F 币
53 元
贡献
20 点
楼主
发表于 2022-4-4 20:18:57 | 显示全部楼层
本帖最后由 zoziha 于 2022-4-4 20:28 编辑

你是使用纯Fortran的Lapack吗?从我的认知上看,Numpy后端矩阵求解使用的好像是OpenBLAS,在Fortran中也能方便地使用OpenBLAS,理论上Fortran写法(OpenBLAS)和Numpy写法性能表现应该一致。
Python代码越少,OpenBLAS调用相关代码越多,Python的Numpy写法效率应该更高。

同样的Intel的Fortran编译器使用自家的MKL性能应该也是飞起。(据我所知,matlab使用的是intel家的MKL库,这谁也打不过啊,intel家软硬件结合,cpu届应该无敌)
自实现算法与使用著名函数库(如OpenBLAS、MKL、IMSL、Petsc、Numpy、fftw等),后者往往是许多人集体工作的结晶,也普遍存在大量优化,是典型的商业或社区驱动“产品”,而自实现算法往往只能在代码层面优化,难以完美掌控底层编译器行为,性能一般是不如著名函数库。但是,这也是跟着具体的业务和需求走的,不需要长时间大量计算的代码,也不一定极致追求调用性能最好的库,盲目引入外部库也可能是一种不好的实践。

互联网时代,Python自带优势,借着这东风,已经很强了,我能看到很多c/cpp/fortran代码被Python社区(从scipy/numpy源码中可见)很好地利用起来了,但编译型语言始终代表性能top1行列。希望Fortran能迎头赶上。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-17 13:34

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表