科学网

 找回密码
  注册

tag 标签: PETSc

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

PETSc并行计算库
热度 2 plasmascience 2018-7-24 10:38
PETSc 在好几个托卡马克大规模模拟程序(如XGC, GTC)中用到, 变得越来越流行。 PETSc的官方文档里说学习PETSc有很陡的学习曲线,一下子吓走很多人。 PETSc库的一个主要目的是让用户测试各种并行算法变得更容易。 只要懂基本的并行概念, 做过基本的偏微分数值解, 用PETSc一点不难。 我花了一周时间, 读了PETSc 文档及程序例子, 做了一个二维泊松方程的并行数值解, 验证了结果的正确性, 写了一个文档记录: http://theory.ipp.ac.cn/~yj/research_notes/computational_physics.pdf PETSc基本的东西算学会了, 后面打算往正在开发的电磁全粒子程序和GEM里加,改进现有的场求解器。
12283 次阅读|4 个评论
deal.II链接PETSc过程记录
qlearner 2016-9-29 19:41
首发: qixinbo.info 简介 在学习deal.II的Step17和18时,需要用到PETSc。 PETSc,全称Portable-Extensible-Toolkit-for-Scientific-Computation,是美国能源部ODE2000支持开发的20多个ACTS工具箱之一,由Argonne国家实验室开发的可移植可扩展科学计算工具箱,主要用于在分布式存储环境高效求解偏微分方程组及相关问题。PETSc所有消息传递通信均采用MPI标准实现,见 百度百科介绍 。 默认安装deal.II时没有与PETSc集成,那么就需要重新编译。 注:这里链接PETSc的过程也同样适用于Trilinos、SLEPc等第三方软件。 提前准备 这里链接的是deal.II的8.4.1版本和PETSc的3.5.4版本。 还额外需要MPI库,这里用的是Open MPI的1.6.3版本。还需要hypre,用的是2.9.0版本。 openmpi和hypre之前都安装过,分别安装在/usr/local/openmpi和/usr/local/hypre。这两个的具体安装过程不再详述。 安装过程编译PETSc 解压下载的安装包,得到petsc-3.5.4文件夹,然后进入,执行以下命令: 1 2 3 4 export PETSC_DIR=`pwd` export PETSC_ARCH=x86_64 # or any other identifying text for your machine ./config/configure.py --with-shared-libararies= 1 --with-x= 0 --with-mpi= 1 --with-mpi-dir=/usr/local/openmpi --with-hypre= 1 --with-hypre-dir=/usr/local/hypre make all test 要点: 这里没有指定prefix路径,也就是在当前安装文件夹下编译。 环境变量PETSC_DIR是指定PETSc的安装文件位置,环境变量PETSC_ARCH是指定配置名字,比如x86_64或gnu_intel等等,这样可以生成不同名字的目录,方便切换版本。 configure的第一个参数是生成动态链接库,这样在lib下就能生成libpetsc.so。 一定要使用MPI,并且指定好它的路径,否则跟deal.II不对应也不行。这里务必注意! 一定使用hypre,并且指定好路径。否则step17还是不能编译。 编译好PETSc后,将那两个环境变量写入.bashrc中,让其能够始终有效: 1 2 3 export PETSC_DIR=/home/qixinbo/program/petsc- 3.5 .4 export PETSC_ARCH=x86_64 export LD_LIBRARY_PATH=$PETSC_DIR/$PETSC_ARCH/lib:$LD_LIBRARY_PATH 这样同时将PETSc的lib路径加入了全局的动态链接库路径中。 编译deal.II 解压下载的tar包,得到dealii-8.4.1文件夹,进入,然后执行以下命令: 1 2 3 4 5 mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/opt/dealii -DDEAL_II_WITH_PETSC=ON -DDEAL_II_WITH_MPI=ON .. sudo make install make test 要点: 用-DDEAL_II_WITH_PETSC=ON来指明链接PETSC 一定要指明用MPI,与前面的PETSc相对应 Step17编译运行成功 最后附上一张Step17编译运行成功的靓照: 参考文献 Interfacing deal.II to PETSc Installation instructions and further information on deal.II PETSc:Documentation: Installation
个人分类: 编程学习|7518 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-23 14:14

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部