netlib BLAS 实现是一个很好的参考,大部分都没有优化和有据可查(例如zgemm)。但是,它在 Fortran 77 中,对于那些接受过更现代编程教育的人来说,它有些难以理解。在 C/C++ 中是否有 BLAS 的参考级实现,如 netlib?
在 C/C++ 中是否有 BLAS 的参考级实现?
计算科学
布拉斯
教育
2021-12-14 03:31:41
4个回答
你看过GNU Scientific Library 的 实现吗?我发现源代码具有足够的可读性,并且例程有据可查。
BLAS 的一个值得注意的 C 语言实现是 ATLAS。在有用的功能中:
- 代数例程既可以作为简单的 C 语言实现,也可以作为用于多种架构和变体的高度优化的汇编器辅助版本实现。
- 构建系统具有一个“自动调谐器”,它编译 ATLAS 库的多个变体,以确定哪一个将是给定机器上最快的。
对于不仅是性能最高的高性能实现(优于英特尔至强融核 60 核峰值的 85%),而且也是最漂亮的编写,请查看 BLIS:
其它你可能感兴趣的问题