中文

LAW:一种利用高性能线性代数代码提高生产力的工具:设计与应用

计算物理 2007-10-26 v1

摘要

LAPACK 和 ScaLAPACK 无疑是科学界在串行、共享内存和分布式内存架构上求解线性代数问题的事实标准库。虽然易用性是 ScaLAPACK 项目相对于其前身 LAPACK 的主要设计目标,但开发新代码或修改现有 LAPACK 代码以利用处理器网格、分布式数组描述符以及相关的分布式内存 ScaLAPACK/PBLAS 例程仍然是一项不平凡的任务。在本文中,我们介绍了一种我们认为对科学代码开发者极具价值的开发工具,该工具利用 Fortran 95 中的特设多态性、派生类型、可选参数、重载运算符和条件编译,为常用线性代数内核的子集提供封装器。引入这些封装器是为了促进对与所执行科学无关的底层细节(如目标平台和执行模型)的抽象。通过利用这种高层库接口,仅需一个代码源,即可在链接时映射到多种执行模型,而无需用户修改。最后,我们通过一个案例研究得出结论,描述了 LAW 库在实现著名的厄米矩阵切比雪夫矩阵指数算法中的应用。

关键词

引用

@article{arxiv.0710.4896,
  title  = {LAW: A Tool for Improved Productivity with High-Performance Linear Algebra Codes. Design and Applications},
  author = {Timothy Stitt and Graham Kells and Jiri Vala},
  journal= {arXiv preprint arXiv:0710.4896},
  year   = {2007}
}

评论

39 pages, 4 figures. To be submitted to Computer Physics Communications Journal

R2 v1 2026-06-29T05:08:06.670Z