2013年8月1日 发布OpenBLAS 0.2.8版本。
各位用户抱歉,在0.2.7版本没有对AMD平台进行充分的测试,所以0.2.7版本Bulldozer和Piledriver架构的优化kernel存在计算结果错误。此次0.2.8版本,对这两个架构的kernel进行了回滚,使用了Barcelona的旧kernel,保证结果正确,但是性能一般。预期Bulldozer和Piledriver架构的优化kernel,在修复错误后,会包含在0.2.9版本中。
具体请参考发布页 https://github.com/xianyi/OpenBLAS/releases/tag/v0.2.8
主要更新如下
- 回滚AMD Bulldozer和Piledriver架构的代码为旧的Barcelona代码
- 支持Open64编译器5.0版本,make CC=opencc FC=openf95
- 对汇编代码增加GNU executable stack标记
- 可接受用户输入的LDFLAGS
引用来自“xunxun”的评论
OpenBLAS延续了GotoBLAS的生命,而且修复了原来已有的bug,为啥会有人不相信。现在OpenBLAS开源社区也不是某个国家独有的,任何人都可以参加,不存在国产非国产。
OpenBLAS/GotoBLAS的AutoTune是非常好的,可以在大多数电脑上都能达到最佳的性能。
这个和ATLAS不一样,ATLAS只在构建机器上达到最佳的性能。(另外对ATLAS开发吐槽一下,采用好奇怪的架构进行开发的,在没最终出源码包之前,都看不懂是啥意思。。。)
ublas和lapack仅仅是实现而已,不以性能为目标。
另外@xianyi
OpenBLAS是不是已经包含了lapack的所有函数?不需要在OpenBLAS前再链接lapack了?
如果要编译纯的blas,那么 make NO_LAPACK=1
引用来自“zp-wmhx”的评论
宁可慢也不能错!
引用来自“Ac.Geodesy”的评论
引用来自“xianyi”的评论
引用来自“Ac.Geodesy”的评论
不相信国产! C++ boost中的ublas已经很好了 还可以加上atlas, lapack, umfpack等其他库 实现各种你想要的线性计算。
LAPACK不说了,就一个参考实现。
ublas不熟悉,如果只是纯c++实现,没做核心汇编优化,GEMM肯定和Op
enBLAS或ATLAS有差距。
UMFPACK是做稀疏问题的,不在一个范畴里。
我们没有amd的bulldozer和piledriver的机器,所以没有测试,就直接合并进来了。结果,0.2.7放出去之后,就有人报在个别情况(主要是存在边角的时候)下有计算结果错误。
归根到底,是我们的合并和发布流程不规范。
引用来自“Ac.Geodesy”的评论
不相信国产! C++ boost中的ublas已经很好了 还可以加上atlas, lapack, umfpack等其他库 实现各种你想要的线性计算。
LAPACK不说了,就一个参考实现。
ublas不熟悉,如果只是纯c++实现,没做核心汇编优化,GEMM肯定和Op
enBLAS或ATLAS有差距。
UMFPACK是做稀疏问题的,不在一个范畴里。