ScaLAPACK 简介

本文从本人简书博客同步过来

上一篇中我们介绍了一个非常实用的工具 mpipool,下面我们将简要地介绍并行分布式线性代数运算工具 ScaLAPACK,然后我们会介绍在 python 中使用 ScaLAPACK 的工具 scalapy。

简介

ScaLAPACK(Scalable LAPACK 简称)是一个并行计算软件包,适用于分布式存储的 MIMD (multiple instruction, multiple data)并行计算机。它是采用消息传递机制实现处理器/进程间通信,因此使用起来和编写传统的 MPI 程序比较类似。ScaLAPACK 主要针对密集和带状线性代数系统,提供若干线性代数求解功能,如各种矩阵运算,矩阵分解,线性方程组求解,最小二乘问题,本征值问题,奇异值问题等,具有高效、可移植、可伸缩、高可靠性等优点,利用它的求解库可以开发出基于线性代数运算的并行应用程序。

ScaLAPACK 的主要思想是:

  • 以一种块状循环分布的方式在各个进程之间分布数据矩阵;
  • 使用块状划分的算法以尽量保证数据的重用性;
  • 设计良好的底层模块使得使用高层模块编写的并行编程和普通串行串行基本一致。

软件等级

ScaLAPACK 是建立在一系列软件基础之上的,其软件等级如下:

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SCALAPACK的安装步骤如下: 1. 首先,确保已经安装了MPI和LAPACK库,并且它们的路径已经统一。MPI和LAPACK可以通过相应的官方网站下载并按照说明进行安装。 2. 下载SCALAPACK库并解压缩。你可以从SCALAPACK的官方网站上下载最新版本的库文件。 3. 进入解压缩后的SCALAPACK目录,在其中找到SLmake.inc文件并编辑它。在编辑这个文件时,你需要注意以下几点: a. 确保FC变量指定了正确的Fortran编译器,例如mpif90,并且这个编译器已经成功安装。 b. 确保CC变量指定了正确的C编译器,例如mpicc,并且这个编译器已经成功安装。 c. 根据你的需求,可以设置优化级别,例如将FCFLAGS和CCFLAGS设置为-O3。 d. 确保SCALAPACKLIB变量指定了生成的SCALAPACK库的名称,例如libscalapack.a。 e. 确保BLASLIB变量指定了BLAS库的链接方式,例如-lblas。如果你使用的是refblas或者librefblas.a库,可以将其替换为相应的绝对路径,例如/usr/local/lib/librefblas.a。 f. 确保LAPACKLIB变量指定了LAPACK库的链接方式,例如-llapack。如果你使用的是liblapack库,可以保持不变或者替换为相应的绝对路径。 4. 保存SLmake.inc文件并退出编辑器。 5. 在SCALAPACK目录中运行make命令进行编译。这个过程可能需要一些时间,请耐心等待。 6. 编译完成后,运行make install命令将库文件安装到相应的位置。如果之前使用了root权限来进行安装,请使用sudo make install命令。 7. 至此,SCALAPACK库已经成功安装。你可以在安装目录中找到生成的libscalapack.a文件,该文件包含了SCALAPACK库的函数实现。 总结: 安装SCALAPACK库的步骤包括下载、解压缩、编辑SLmake.inc文件、编译和安装。编译和安装过程中需要确保MPI和LAPACK库的路径已经统一,并根据需要进行相应的配置和优化。完成上述步骤后,你将获得一个功能完备的SCALAPACK库可供使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [关于linux安装mpich/openmpi+lapack+scalapack实现并行计算安装过程以及遇到的一些坑](https://blog.csdn.net/weixin_44385985/article/details/129950996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值