ScaLAPACK是田纳西大学提供的软件包;加州大学伯克利分校;科罗拉多大学丹佛分校;和NAG有限公司。。

演示

线性代数库是一个用于并行分布式内存机的高性能线性代数例程库。ScaLAPACK解决稠密和带状线性系统、最小二乘问题、特征值问题和奇异值问题。ScaLAPACK中包含的关键思想包括使用

  1. 块循环数据分布对于密集矩阵和带状矩阵的块数据分布,可在运行时参数化;

  2. 块分割算法确保高水平的数据重用;

  3. 精心设计的低级模块化组件通过使高级例程源代码与顺序案例中的源代码相同.

ScaLAPACK项目的目标与LAPACK项目的目标相同,即:

  • 效率(尽可能快地跑),

  • 可扩展性(随着问题规模和处理器数量的增长),

  • 可靠性(包括误差边界),

  • 可移植性(跨所有重要的并行机器),

  • 灵活性(这样用户可以从设计良好的部件构造新的例程),

  • 易用性(通过使LAPACK和ScaLAPACK的接口看起来尽可能相似)。

许多这些目标,特别是可移植性,都可以通过开发和推广标准,尤其是针对低层通信和计算日常工作。我们成功地实现了这些目标机器对三个称为BLAS或Basic的标准库的依赖性线性代数子程序、LAPACK和BLACS或基本线性代数通信子程序。LAPACK将在BLAS所在的任何机器上运行可用,并且ScaLAPACK将在任何机器上运行可提供BLACS。

该库当前是用Fortran编写的(除了少数用C)编写的对称特征问题辅助例程。ScaLAPACK的名字是Scalable Linear Algebra PACKage或Scalable LAPACK的缩写。最多ScaLAPACK的最新版本是2.2.0,于2022年2月2日发布。

致谢

自2010年以来,本材料基于国家科学基金会,批准号:NSF-OCI-1032861。任何意见,本材料中表达的调查结果和结论或建议如下作者的观点,并不一定反映国民的观点科学基金会(NSF)。直到2006年,该材料都是基于工作由国家科学基金会资助,批准号ASC-9313958,NSF-0444486和DOE批准号DE-FG03-94ER25219。任何意见、调查结果和本材料中表达的结论或建议是作者,并不一定反映《国家科学》的观点基金会(NSF)或能源部(DOE)。

软件

许可

ScaLAPACK是一个免费的软件包。可通过以下途径从netlib获得匿名ftp和万维网http://www.netlib.org/scalapack因此可以包含在商业软件包中(并且已经包含)。我们只问应该给予作者适当的信任。

用于软件的许可证是修改后的BSD许可证,请参见:

像所有软件一样,它是受版权保护的。它不是商标,但我们确实要求以下内容:

  • 如果您修改这些例程的源代码,我们要求您更改例程并注释对原始文件所做的更改。

  • 我们将很乐意回答有关该软件的任何问题。如果进行了修改但是,这是修改例行程序提供支持。

ScaLAPACK,版本2.2.0

ScaLAPACK,版本2.1.0

ScaLAPACK,2.0.2版

ScaLAPACK,2.0.1版

ScaLAPACK,2.0.0版

勘误表

ScaLAPACK安装程序[用于Linux]

ScaLAPACK的基于Python的安装程序。下载、配置、编译和安装ScaLAPACK所需的所有库(参考BLAS、LAPACK、BLACS和ScaLABACK)

用于Windows的ScaLAPACK

github

ScaLAPACK Git存储库可用于获取修复的最新错误或建议修复(Pull请求)

https://github.com/Reference-ScaLAPACK/ScaLAPACK参考/

支持

贡献者

ScaLAPACK是一项全社区的努力。ScaLAPACK依赖于许多贡献者。

如果您希望捐款,请查看这个LAPACK程序风格。本文件旨在促进通过记录设计和实施对LAPACK/ScaLAPACK的贡献指导方针。您可以通过Pull Requests直接在github上提交代码Github上的ScaLAPACK

LAPACK/ScaLAPACK项目软件授权和企业贡献者许可协议(“协议”)[下载]

欢迎随时提供捐款,并可发送至ScaLAPACK团队.

文件

使用联机文档浏览器浏览ScaLAPACK例程

探索ScaLAPACK代码在这里,您可以浏览许多ScaLAPACK函数。

发行说明

ScaLAPACK发布说明包含之间对ScaLAPACK库所做修改的历史记录每个新版本。

改进

ScaLAPACK是一个当前活跃的项目,我们正在努力带来新的改进以及定期使用新算法。

请为我们的愿望单如果您通过发送电子邮件感到缺少某些功能或算法ScaLAPACK团队.

常见问题解答

咨询ScaLAPACK常见问题.

如果您觉得缺少一些问题,请发送电子邮件至ScaLAPACK团队.

这个LAPACK用户论坛也是寻找答案的好来源。

LAWNS:LAPACK/ScaLAPACK工作说明

发布历史记录

拉帕克

血浆

可扩展多核体系结构的并行线性代数(PLASMA)该项目旨在解决关键且极具破坏性的情况面向线性代数和高性能计算社区,因为引入多核架构。

PLASMA的最终目标是创建能够支持程序员的软件框架简化开发应用程序的过程,以实现跨一系列新体系结构的性能和可移植性。

开发强制异步、无序的编程模型作业计划是作为定义的基础的概念一个可扩展但高效的计算线性软件框架代数应用。

MAGMA公司

MAGMA(GPU和多核架构上的矩阵代数)项目旨在开发类似于LAPACK的稠密线性代数库,但用于异构/混合体系结构,从当前的“多核+GPU”开始系统。

MAGMA的研究基于以下理念:在新兴的混合环境中,最佳软件解决方案本身必须进行混合,将不同算法的优势结合在一起基于这个思想,我们的目标是设计线性代数支持多核和GPU混合系统的算法和框架应用程序充分利用每个混合组件的功率提供。