OpenCAEPoro安装编译以及优化

目录

一·背景介绍

二编译及安装

1.将赛题克隆至家目录之后对压缩包进行解压缩后即可按照readme中给出的步骤在对应的目录下进行配置。

2.过程中遇到的报错以及解决

3.修改脚本路径,编译可执行程序

 三.测试运行

四.优化

 1.增加进程数

2.尝试跑多机(这步在尝试时实际在后面,后来想了一下其实一开始先跑多机时间降得会更快)

3.vtune性能分析

4.修改编译选项

5.更换程序运行的数学库

6.修改源代码

总结:


一·背景介绍


1.OpenCAEPoro是一种数值模拟器,专为多孔介质中的多相和多组分流而设计,特别强调石油储层问题。它使用 C++ 构建,并结合了 MPI 并行性以增强其性能和可扩展性。其过程主要涉及利用高性能计算研究流体动力学相关的问题和多物理场的模拟。
2.PETSC是一个专门为大规模科学计算提供的高效数值求解工具的开源软件库,主要是处理线性和非线性方程组,以及求解偏微分方程。


二编译及安装


1.将赛题克隆至家目录之后对压缩包进行解压缩后即可按照readme中给出的步骤在对应的目录下进行配置。

克隆:

git clone https://github.com/OpenCAEPlus/OpenCAEPoro_ASC2024

2.过程中遇到的报错以及解决

(1)build parmetis:

build parmetis:
    S1. cd parmetis-4.0.3
    S2. modify the path in script "build-parmetis.sh", such as "make config
        cc=mpiicc prefix=ROOT_DIR/parmetis-4.0.3/parmetis-install"
    S3. sh build-parmetis.sh

    ROOT_DIR is the root directory of the repository, which is set by the user
    according to their own directory (similarly hereinafter).

在这一步骤当中,按照要求修改改了文件的内容之后运行sh build-parmetis.sh遇到了如下报错

查了之后发现这个报错的意思是找不到mpicc

which mpicc  

发现该命令没有得到返回值,我一开始以为要自己安装,但是发现没有root权限(笑,后来得知其实已经安装好了只需要直接设置环境变量

对该修改进行更新后再次编译就能顺利通过了。

(2)build petsc

 build petsc
    S1. cd petsc-3.19.3
    S2. modify the path in script "build-petsc.sh", such as
        export PETSC_DIR=ROOT_DIR/petsc-3.19.3
        export PETSC_ARCH=petsc_install
        ./configure CC=mpiicc CXX=mpiicpc \
        --with-fortran-bindings=0 \
        --with-hypre-dir=ROOT_DIR/hypre-2.28.0/install \
        --with-debugging=0 \
        COPTFLAGS="-O3" \
        CXXOPTFLAGS="-O3" \
        make -j 20 PETSC_DIR=ROOT_DIR/petsc-3.19.3 PETSC_ARCH=petsc_install all
    S3. sh build-petsc.sh  

 这一步遇到的报错挺麻烦的

最主要的是一开始没明白在报什么错,最明显的一行就是在说什么fortran error,在modify的时候额外添加一个参数--with-fc=0 即可 ,该参数表示对fortran编译器进行禁用(不启用调用模式),这样一来就不会尝试去链接它进而就不会出现could not be located.对于前三行内容前面我们已经修改过对应的环境变量那么前三行就可以直接注释掉使其不生效

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值