当前位置:首页 > 应用展示 > 并行算法库 > 自研软件

软件信息

软件名称: HPSEPS
发表日期: 2016-12-11
软件描述: HPSEPS(High Performance Symmetric Eigenproblem Solvers)是用来求解对称特征问题的并行软件,主要用于高性能并行求解实对称/厄密矩阵特征问题、SVD奇异值分解、LSQR分解及其相关问题。提供了求解大规模稠密特征问题和稀疏特征问题的各种并行求解器。
软件类型:
资源下载: hpseps2.1.rar   下载:请先登录
相关图片:

软件详述:

1 软件概述

    HPSEPS可求解的标准特征问题形式为:

Ax=λx

广义对称特征问题形式为:

Ax=λBx

其中AB是实对称或厄密矩阵,B是正定的,而λ是对应于特征向量x的特征值。也能处理与线性代数系统相关的计算,包括在二维块-循环映射存储方式下,正定矩阵的并行Cholesky分解和具有多个右端详的上/下三角矩阵线性方程的并行求解以及超定方程组的并行求解等。

     在HPSEPS软件中,其稠密对称矩阵特征问题的求解基于Cholesky分解和HouseHolder三对角化块算法,而稀疏对称矩阵特征问题的求解目前是基于显示重开始Lanczos方法和LOBPCG(Local Block Preconditioned Optimal conjugate Conjugate Gradient方法。这些方法是求解实对称(或Hermitian)矩阵特征问题最有效方法。

     HPSEPS功能可概述如下:

 1)提供了求解稠密特征问题的多个并行求解器,可用来高性能求解稠密矩阵的全部或部分特征值和特征向量。

 2)提供了基于显示重启动Lanczos方法的多个并行求解器,可用来高性能求解大规模稀疏特征问题部分端特征值或内部部分特征值。

 3)提供了基于LOBPCG方法的并行求解器。该方法是求解少量的最小特征值及其特征向量的最有效方法。非常适合大规模稀疏特征问题的计算。最适合应用领域:密度泛函理论(DFT)、纳米材料科学等计算。

 4)另外,HPSEPS提供了可用于地质地球科学、重力场分析的SVD并行求解器和LSQR并行求解器。

 HPSEPS当前代码是使用消息传递接口MPI和共享内存OpenMP接口的C和Fortran77语言编写,可调用的子程序是C/C++和Fortain77代码程序,使用的编程模型是SPMD+线程的多级混合模型。HPSEPS的运行环境是支持MPI消息传递和OpenMP的多种类型体系结构的并行计算机,包括共享存储多处理机、分布存储并行计算机和当前流行的多体系结构系统。

2 安装说明

这里给出安装HPSEPS软件的简略说明。更详细的安装过程用户可参考软件中的安装说明文件README。

我们提供的软件是一个压缩文件hpseps2.1.tar。用户需在安装目录下解压该文件。与HPSEPS安装有关的两个文件是makefile.in和Makefile。HPSEPS软件代码库文件和测试程序通过Makefile文件在软件安装时创建。在makefile.inc文件中包含与系统环境有关的环境变量定义和路径说明。另外,每一个子目录下也存有一个makefile文件。每个makefile文件都含有“include ../makefile.inc” 头文件声明。

2.1 安装过程

首先将hpseps.tar拷贝到安装目录下,然后执行解包命令:

tar –xvf  hpseps2.1.tar

这时产生目录hpseps2.1,该目录下的内容为:

Makefile  Makefile.Inc  SRC  PSEPS_int fortran_exam  PLANS  PLOBPCG  UTIL  BLAS  LAPACK,HPSPES.h等。

说明:HPSEPS软件提供了所使用的BLAS和LAPACK 库的Fortran版本,分别保存在BLAS和LAPACK目录下。软件在安装过程将产生这两个库。用户也可以使用更有效的已优化库或更新版本的库代替这两个库。但须注意版本间的兼容性问题。

HPSPES.h文件为一个头文件,里面包含了HPSPES软件的外部子程序说明、结构类型定义及MPI的头文件说明等。

SRC、PLANS、PLOBPCG、PSEPS_int 和UTIL为子目录,在这些目录下是一些子程序代码,且每个子目录下存有一个Makefile文件。其中在SRC下提供了稠密特征问题对应的子程序并性代码,PLANS目录下提供了显示重启动Lanczos方法求解稀疏特征问题所对应的子程序并行代码,而PLOBPCG目录下提供了基于LOBPCG方法的子程序并行代码。

    用户在进行软件编译前,必须首先编辑和修改makefile.inc文件。我们在Makefile.inc中提供了与深腾7000系统相应的设置,当用户在其它系统上使用该软件时需根据系统环境修改该文件。我们建议用户在安装HPSEPS时,如果系统自带有LAPACK和BLAS库,最好使用系统中的这些库,因为它们通常由厂家根据系统环境进行了优化。

2.2 生成所需要的库文件

最后执行“make lib”,如一切正常,将产生标准库文件“HPSEPS-linux.a”。当用户需要重新生成需要的库文件而删除已生成的文件时,只须输入命令:

                     make clean

在fortran_exam目录和EXAMPLE目录下,我们提供了多个fortran的实例例程和4个C的实例程序。如果这些例程能成功运行,则说明HPSEPS软件安装成功,否则,你需要根据错误原因修改Makefile.inc文件或设置系统环境变量。

3 HPSEPS的功能和架构

    HPSEPS软件主要包括下列一些求解器:

• 广义(实)稠密对称矩阵特征问题并行求解器

• 广义(复)稠密厄密矩阵特征问题并行求解器

• 标准(实)稠密对称特征问题并行求解器

• 标准(复)稠密厄密矩阵特征问题并行求解器

• 广义(实)稀疏对称矩阵特征问题并行求解器

• 广义(复)稀疏厄密矩阵特征问题并行求解器

• 标准(实)稀疏对称特征问题并行求解器

• 标准(复)稀疏厄密矩阵特征问题并行求解器

• SVD奇异值并行求解器和LSQR并行求解器PLSQR

    在HPSEPS中,我们对上述求解器分别提供了双精度和单精度两种代码。HPSEPS的设计采用了自底向上的层次设计方法,每个子程序建立在一些基本例程之上。

共有0条评论最新评论