logo资料库

并行计算hypre的安装与使用.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
HYPRE的安装
使用HYPRE
1、一个makefile文件
HYPRE 的安装 下面介绍 Hypre 的安装步骤。 首 先 , 要 求 系 统 具 备 基 于 消 息 传 递 (MPI) 的 并 行 编 程 环 境 。 这 里 我 们 以 单 机 Linux(RedHat9.0+Mpich-1.2.6)系统为例,介绍 Hypre 的安装步骤。具体安装与机器的硬件和 软件环境有关。 (1)、从网址 http://www.llnl.gov/CASC/hypre/download/hypre-1.6.0.tar.gz 处下载 Hypre 最新 版本的源程序(以 Hypre-1.6.0 为例); (2)、展开 Hypre 源程序:tar xzvf hypre-1.6.0.tar.gz (3)、设置环境变量,根据不同的 shell,按不同的方式进行设置: 对 csh shell(如银河并行机): setenv HYPRE_INSTALL_DIR <你想安装 hypre 的绝对路径> mkdir ${HYPRE_INSTALL_DIR} (注:根据安装 hypre 的路径,可能需要以 root 身份执行); 对 Bourne shell(如,一般的 PC-Linux 系统): HYPRE_INSTALL_DIR=<你想安装 hypre 的绝对路径> export HYPRE_INSTALL_DIR mkdir ${HYPRE_INSTALL_DIR}(注:根据安装 hypre 的路径,可能需要以 root 身份执行); (4)、配置 Hypre(根据具体机器,为 Hypre 配置本机的软件和系统环境): cd hypre-1.6.0/src ./configure \ --with-mpi-include=/include \ --with-mpi-lib-dirs=/lib \ --with-mpi-libs='' \ (注:如果选择,上述三个选项必须同 时用) --with-CC= \ --with-CXX= \ --with-F77= 举例 1:如果系统和软件环境为 Linux RedHat9.0 + mpich-1.2.6,则具 体配置可按如下进行: ./configure \ --with-mpi-include=/include \ --with-mpi-lib-dirs=< mpich 安装路径>/lib \ --with-mpi-libs=’mpich pmpich' \ --with-CC=gcc --with-CXX=g++ --with-F77=g77 举例 2:如果是 LAM MPI Linux,可按如下方式进行: ./configure \
--with-mpi-include=/include \ --with-mpi-lib-dirs=/lib \ --with-mpi-libs='mpi' \ --with-CC=gcc --with-CXX=g++ --with-F77=g77 举例 3:在银河并行机上安装: sh/ ./configure \ --with-CC=mpicc --with-CXX=mpiCC --with-F77=f77 实际上,很多情况下,直接敲./configure 即可(这是最好了,祝你好运!) (5)、编译 Hypre: make 该命令在 hypre-1.6.0/src 目录下生成临时目录 hypre-1.6.0/src/hypre/。 (6)、将 Hypre 安装到指定路径: make install (注:根据安装 hypre 的路径,可能需以 root 身份执行) 该命令将上一步中生成的 hypre-1.6.0/src/hypre/目录移到指定的安装目录中。 (7)、上述过程完成后,你可看到在安装目录下有两个子目录: /include /lib 如果你看到了这两个子目录,恭喜你!你已经在你的机器上成功地安装了 Hypre。 使用 HYPRE 1、一个 makefile 文件 #This Makefile made by JiangJun DEBUG = -g .SUFFIXES:.c .f90 .f LIBS = -lm F90C = /opt/mpich-mx-pgi/bin/mpif90 mycc = /opt/mpich-mx-pgi/bin/mpicc C_COMPILE_FLAGS= -O -g F77_COMPILE_FLAGS= -O -g CINCLUDES= -I/opt/mpich-mx-pgi/include CDEFS = -DHYPRE_TIMING CFLAGS = ${C_COMPILE_FLAGS}\ -I/stg/s1p1/users/sxy/jiangjun/HYPRE/include\
-I. \ ${CINCLUDES}\ ${CDEFS} FFLAGS = \ ${F77_COMPILE_FLAGS} MPILIBFLAGS = -L/opt/mpich-mx-pgi/lib LIBFLAGS = BLASLIBFLAGS = -lHYPRE_blas -lm -lmpich -lpmpich IJ_LS_LFLAGS =\ -L/stg/s1p1/users/sxy/jiangjun/HYPRE/lib\ -lHYPRE_parcsr_ls\ -lHYPRE_DistributedMatrixPilutSolver \ -lHYPRE_ParaSails \ -lHYPRE_Euclid \ -lHYPRE_MatrixMatrix \ -lHYPRE_DistributedMatrix \ -lHYPRE_IJ_mv\ -lHYPRE_parcsr_mv\ -lHYPRE_seq_mv\ -lkrylov\ -lHYPRE_utilities\ ${BLASLIBFLAGS} \ ${MPILIBFLAGS} ${LIBFLAGS} object=amg_cg_solver.o main.o main:amg_cg_solver.o main.o ${F90C} -o $@ ${object} ${IJ_LS_LFLAGS} ################################################################## # Generic rules ################################################################## .c.o: ${mycc} -o $@ -c ${CFLAGS} $< .f.o: ${F90C} -o $@ -c ${FFLAGS} $< .f90.o: ${F90C} -o $@ -c ${FFLAGS} $< clean : -rm main -rm *.o -rm *.mod
分享到:
收藏