linux cuda测试,安装并测试cuda版本的PETSc

本文档详细介绍了如何通过apt安装CUDA,并配置OpenMPI和Petsc。首先,通过apt安装CUDA并设置相关路径,然后下载并安装OpenMPI,配置编译选项,接着安装Petsc,指定CC、CXX等编译器以及优化标志,并进行测试。最后,进行了CPU和GPU的性能测试,展示了使用mpi运行的时间和资源消耗。
摘要由CSDN通过智能技术生成

cuda如果是通过apt安装的,与cuda相关cuda路径如下:

/usr/bin

/usr/lib/cuda

/usr/nvidia-cuda-toolkit

cuda如果是通过*.run文件安装的,默认情况下相关路径为:

/usr/local/cuda

/usr/local/cuda-10.2

如有错误欢迎指正。我是通过apt安装的。

安装openmpi

export SOFTWARE=$HOME/software

cd $SOFTWARE

tar -jxvf openmpi*.bz2

rm openmpi*.bz2

mv openmpi* openmpi-source

cd $SOFTWARE/openmpi-source

./configure --prefix=$SOFTWARE/openmpi --with-cuda=/usr

make -j64 install

添加路径

export SOFTWARE=$HOME/software

export PATH=$SOFTWARE/openmpi/bin:$PATH

export LD_LIBRARY_PATH=$SOFTWARE/openmpi/lib:$LD_LIBRARY_PATH

export C_INCLUDE_PATH=$SOFTWARE/openmpi/include:$C_INCLUDE_PATH

安装petsc

unzip petsc*.zip

rm petsc*.zip

mv petsc* petsc

cd $SOFTWARE/petsc

export PETSC_DIR=$SOFTWARE/petsc

export PETSC_ARCH=linux-opt

python3 configure \

--CC=$SOFTWARE/openmpi/bin/mpicc \

--CXX=$SOFTWARE/openmpi/bin/mpicxx \

--FC=$SOFTWARE/openmpi/bin/mpif90 \

--COPTFLAGS="-O3" \

--CXXOPTFLAGS="-O3" \

--FOPTFLAGS="-O3" \

--CUDAOPTFLAGS="-O3" \

--PETSC_ARCH=$PETSC_ARCH \

--with-debugging=0 \

--with-cuda \

--with-cudac=nvcc \

--with-cuda-dir=/usr/lib/cuda

make -j64 all

make check

添加路径

# necessary variables

export PETSC_DIR=$SOFTWARE/petsc

export PETSC_ARCH=linux-opt

# library path

export PATH=/public/home/npuheart/ibamr/petsc/linux-opt/bin/:$PATH

export C_INCLUDE_PATH=$SOFTWARE/petsc/linux-opt/include:$C_INCLUDE_PATH

export LD_LIBRARY_PATH=$SOFTWARE/petsc/linux-opt/lib:$LD_LIBRARY_PATH

# these might be unnecessary

export C_INCLUDE_PATH=$SOFTWARE/petsc/include:$C_INCLUDE_PATH

export CPLUS_INCLUDE_PATH=$SOFTWARE/petsc/include:$CPLUS_INCLUDE_PATH

export CPLUS_INCLUDE_PATH=$SOFTWARE/petsc/linux-opt/include:$CPLUS_INCLUDE_PATH

测试

# 这是一个简单的例子

cd $SOFTWARE/petsc/src/ksp/ksp/tutorials

# 编译

make ex12

# cpu测试

time mpirun -np 1 ex12 -n 200 -m 200 -pc_type none

Norm of error 0.574264 iterations 1630

real 0m5.824s

user 0m2.454s

sys 0m2.697s

# cpu测试

time mpirun -np 8 ex12 -n 200 -m 200 -pc_type none

Norm of error 0.574264 iterations 1630

real 0m5.568s

user 0m8.582s

sys 0m4.897s

# gpu测试

time mpirun -np 1 ex12 -n 200 -m 200 -pc_type none -vec_type cuda -mat_type aijcusparse

Norm of error 0.574264 iterations 1630

real 0m4.934s

user 0m1.181s

sys 0m0.871s

# gpu测试

time mpirun -np 8 ex12 -n 200 -m 200 -pc_type none -vec_type cuda -mat_type aijcusparse

Norm of error 0.574264 iterations 1630

real 0m17.775s

user 1m4.660s

sys 0m12.970s

the alternation of gcc-9 and gcc-8 ( including g++, gfortran )

sudo update-alternatives --install /usr/bin/gcc gcc /ur/bin/gcc-8 100

sudo update-alternatives --install /usr/bin/g++ g++ /ur/bin/g++-8 100

sudo update-alternatives --install /usr/bin/gfortran gfortran /ur/bin/gcc-8 100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值