- 主题:有对集群系统熟悉的吗?咨询几个问题
Centos7,装了intel oneapi
使用intel mpi编译了程序
另外安装了slurm作业管理系统
现在发现直接运行mpirun比使用slurm要快不少
有什么解决办法吗
服务器是双路的,两个cpu,没关超线程
谢谢
--来自微微水木3.5.12
--
FROM 123.161.219.*
是一台机器,但是也可能交多个作业,多个人使用,所以装了作业管理系统
【 在 snoopyzhao 的大作中提到: 】
: 你这是集群还是啥?如果只有一台机器,那没有必要用作业管理系统啊
: 作业管理系统只是按规则交作业,运行时间原则上与作业管理系统无关
--
FROM 123.161.219.*
程序不支持OpenMP
srun
我试了srun和mpiexec,速度都没有直接运行快
【 在 marion 的大作中提到: 】
: 单主机为啥要用MPI?不是应该用OpenMP么?
: slurm缓存分发的命令行是啥?也是mpirun开头?
--
FROM 123.161.219.*
我都试过
mpirun默认就是mpiexec.hydra,intelmpi默认的用这个进程管理器
mpirun -bootstrap slurm这个也用过,速度也不行,很奇怪
【 在 marion 的大作中提到: 】
: 新版的MPI任务流管理模式叫hydra,旧版的叫mpd
: mpiexec默认是mpd
: mpiexec.hydra才用hydra
: ...................
--
FROM 123.161.219.*
SLURM采用如下设置
#SBATCH --ntasks=32
#SBATCH --cpus-per-task=2
#SBATCH --nodes=1
#SBATCH --hint=multithread
srun --cpu_bind=cores $EXE
双路的Intel(R) Xeon(R) Gold 6326 CPU @ 2.90GHz
共32个物理核心,没有关超线程
有一个算例,直接使用mpirun速度大概为90秒,用32和64速度差不多
使用slurm,使用如上的配置,--cpus-per-task=2或1,--hint=(no)multithread
速度也差不多,大概是94,这算是最好的,但如果
如果核数少了的话,差别比较大
我用16个核,就是上面32改成32,时间变成170秒,而mpirun则120多。
在脚本里直接调用mpirun感觉速度差不到
【 在 sjsznh 的大作中提到: 】
: 两者能差多少?你的slurm是怎么运行的?用的srun还是脚本提交并在脚本里直接调用mpirun?
: #发自zSMTH@VOG-AL00
--
FROM 1.192.38.*
你可以试一下我这个比较下速度
我最早也是用的跟你这个类似,不过用的srun
后来这次给别人装机器就好奇试了一下比较,发现挺大差异
【 在 sjsznh 的大作中提到: 】
: 我通常不用srun而是直接用如下的脚本提交,你试试。
:
: #!/bin/bash
: ...................
--来自微微水木3.5.12
--
FROM 1.192.38.*
补充一下,我现在用的intelmpi
其他的还没测
【 在 sjsznh 的大作中提到: 】
: 我通常不用srun而是直接用如下的脚本提交,你试试。
:
: #!/bin/bash
: ...................
--来自微微水木3.5.12
--
FROM 1.192.38.*