计算化学公社
标题:
计算机调用gpu少,计算进度慢,请指点问题出在哪里
[打印本页]
作者Author:
jia1012428
时间:
2023-11-1 11:50
标题:
计算机调用gpu少,计算进度慢,请指点问题出在哪里
我的gromac的软件环境为:
MPI和编译器版本:intel oneapi 2023.2
数学库:intel MKL
调度系统:slurm
gromacs版本:2023.1
slurm作业提交脚本,请见附件,信息我也列在下面
slurm作业提交脚本
#!/bin/sh
#SBATCH -p P3 # Px对应Ux
#SBATCH --job-name=gromacs
##SBATCH --output=job-%j.log
##SBATCH --error=job-%j.err
#SBATCH -N 1 -n 8 -c 1 # -n 8里面的8根据需要修改
#SBATCH --mem-per-cpu=1100
#SBATCH --gres=gpu:1
module load gcc
source /data/opt/intel/oneapi/setvars.sh
module load gromacs-gpu/2023.1
mpirun gmx_mpi mdrun -ntomp 1 -nsteps 100000000 -pin on -nb gpu -s md_0_1.tpr
异常现象:程序能够正常执行,大概一个进程占用257MB的显存,前10分钟程序对GPU的占用可以达到95%以上,但是后期对GPU的占用率比较低,很少能跑满GPU;对CPU的占用能够达到100%
gmx_mpi -version的详细信息也有图片
请问老师,这个问题怎么解决
作者Author:
laoman
时间:
2023-11-2 19:23
如果是常规MD,不推荐跨GPU并行,或者在单个GPU内调用MPI并行。
单个节点如果有多张显卡,我觉得可以跑多个gmx(没有mpi后缀,编译开CUDA,开openmp,关MPI),每个gmx占用一个显卡。如果你懒得编译一个新的GMX,可以用multidir跑多个任务。如你截图显示的只有两张显卡,那就是一个节点跑两个体系,可以这样提交任务:
#!/bin/sh
#SBATCH -p P3
#SBATCH --job-name=gromacs
##SBATCH --output=job-%j.log
##SBATCH --error=job-%j.err
#SBATCH -N 1 -n 2 -c 8
......
mpirun -np 2 gmx_mpi mdrun -ntomp 8 -nsteps 100000000 -s prod -multidir md_dir_1 md_dir_2
作者Author:
jia1012428
时间:
2023-12-8 11:02
收到,谢谢我研究一下
作者Author:
jia1012428
时间:
2023-12-8 11:02
laoman 发表于 2023-11-2 19:23
如果是常规MD,不推荐跨GPU并行,或者在单个GPU内调用MPI并行。
单个节点如果有多张显卡,我觉得可以跑 ...
谢谢,我研究一下
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3