没有联网的超算下载配置petsc详细教程

这里我们以最新的3.19.0为例。老版本或者以后要出的更新的版本都可以按这个步骤。

1. 在官网下载压缩包

不要解压直接传到超算中,这样速度比传文件夹快。在超算中使用tar -zxvf petsc-3.19.0.tar.gz命令解压。

2.传输所需库

按petsc编译的最基本配置也需要下载mpichfblaslapack,mpich保证petsc能够并行,fblaslapack使petsc能够实现矩阵和向量计算。下面是我们通常编译使用的命令:

./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack

当然可以根据需要可以配置其他的库,这里是最简单的。有的超算是不联网的,大概是出于安全考虑,所以最后的两条命令download会报错,我们要做的就是找到打算安装的petsc版本对应需要的mpich版本和fblaslapack版本,下载压缩包之后把压缩包上传到超算中。这里mpich尽量不要使用超算里面的module,因为通常它的版本都很低,无法满足要求。在安装前如果module load mpich/x.x.x,还是先modale unload比较好,不然后面petsc在检查check的时候会默认使用这里的mpich,版本低的话会报错。

2.1 mpich

petsc-3.19.0\petsc-3.19.0\config\BuildSystem\config\packages这个文件夹中,打开MPICH.py这个文件,可以看到所需mpich的版本(self.version=后面)和下载地址(self.download=后面)。

 这里把'+self.version'改成版本号4.1.1就可以,引号全部去掉,这里链接就是https://github.com/pmodels/mpich/releases/download/v4.1.1/mpich-4.1.1.tar.gz

在浏览器打开就下载好了。把下载好的安装包直接传到超算中备用,然后记下压缩包的路径(pwd一下),等会要用到这个路径,我这里是

 /public1/home/sch2579/rlchen/petsc_extern/mpich-4.1.1.tar.gz

2.2 fblaslapack

petsc-3.19.0\petsc-3.19.0\config\BuildSystem\config\packages这个文件夹中,打开fblaslapack.py这个文件,可以看到所需的版本(self.gitcommit =后面)和下载地址(self.download=后面)。

 和上面类似,用.tar.gz结尾的那个链接

https://bitbucket.org/petsc/pkg-fblaslapack/get/v3.4.2-p3.tar.gz

就下载到安装包了,传到超算中记下压缩包的路径。我这里是(我对压缩包重命名了一下)

 /public1/home/sch2579/rlchen/petsc_extern/petsc-pkg-fblaslapck.tar.gz

3. 不联网编译petsc

换到petsc-3.19.0文件夹,下面语句编译

./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-fblaslapack=/public1/home/sch2579/rlchen/petsc_extern/petsc-pkg-fblaslapck.tar.gz --download-mpich=/public1/home/sch2579/rlchen/petsc_extern/mpich-4.1.1.tar.gz

这里最后两条语句--download-fblaslapack=和--download-mpich=后面是跟的压缩包路径,意思是编译的时候到我所指示的这里下载压缩包就可以了不需要联网了。

编译之后根据提示

make PETSC_DIR=/public1/home/sch2579/rlchen/petsc-3.19.0 PETSC_ARCH=arch-linux-c-debug all

make PETSC_DIR=/public1/home/sch2579/rlchen/petsc-3.19.0 PETSC_ARCH=arch-linux-c-debug check

就可以了。

4. 配置环境变量

由于超算这种每次登录都要export一下,所以我们直接写到~/.bashrc里面。~/.bashrc是Bash shell的配置文件之一,它是在每次打开终端时自动读取的。该文件通常包含用户定义的别名、环境变量和其他个性化配置。

使用vi ~/.bashrc打开。然后在里面添加这三条语句(XXX是前面的文件夹路经)

export PATH=XXX/petsc-3.19.0/arch-linux-c-debug/bin:$PATH
export PETSC_DIR=XXX/petsc-3.19.0
export PETSC_ARCH=arch-linux-c-debug

配置完之后类似下图,因为我后面还是用的petsc-3.18.4,所以图里是petsc-3.18.4。

 然后保存退出,source ~/.bashrc命令更新一下就可以了。可以试一下petsc自带的例子。

版本3.2-p7 并行可扩展科学计算工具箱(PETSc)   Portable, ExtensibleToolkit for Scientific Computation科学计算可移植扩展工具包。   PETSc(Portable, Extensible Toolkit for Scientific Computation) 是美国能源部ODE2000支持开发的20多个ACTS工具箱之一,由Argonne国家实验室开发的可移植可扩展科学计算工具箱,主要用于在分布式存储环境高效求解偏微分方程组及相关问题。PETSc所有消息传递通信均采用MPI标准实现。   PETSc用C语言开发,遵循面向对象设计的基本特征,用户基于PETSc对象可以灵活开发应用程序。目前,PETSc支持Fortran 77/90、C和C++编写的串行和并行代码。   PETSc是系列软件和库的集合,三个基本组件SLES、SNES和TS本身基于BLASLAPACK、MPI 等库实现,同时为TAO、ADIC/ADIFOR、Matlab、ESI 等工具提供数据接口或互操作功能,并具有极好的可扩展性能。PETSc为用户提供了丰富的Krylov子空间迭代方法和预条件子,并提供错误检测、性能统计和图形打印等功能。   线性方程组求解器是PETSc的核心组件之一,PETSc几乎提供了所有求解线性方程组的高效求解器,既有串行求解也有并行求解,既有直接法求解也有迭代法求解。对于大规模线性方程组, PETSc提供了大量基于Krylov子空间方法和各种预条件子的成熟而有效的迭代方法,以及其他通用程序和用户程序的接口。PETSc具有一般库软件所具备的高性能、可移植等优点,而且面向对象技术使得PETSc内部功能部件的使用非常方便,接口简单而又适用面广,可以缩短开发周期,减少工作量。   如今,越来越多的应用程序在PETSc环境上开发,并逐渐显示出PETSc在高效求解大规模数值模拟问题方面的优势和威力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值