本篇內(nèi)容主要講解“Slurm集群搭建的教程”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Slurm集群搭建的教程”吧!
創(chuàng)新互聯(lián)長(zhǎng)期為上1000家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為原陽(yáng)企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司,原陽(yáng)網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
a) Centos 7.8 b) 兩臺(tái)機(jī)器規(guī)劃IP 分別為10.10.0.20 與10.10.0.21 c) 機(jī)器主機(jī)名分別為node1、node2 d) 均關(guān)閉了防火墻以及selinux e) 已經(jīng)配置好SSH 免密、NIS、NFS
a) 安裝依賴(lài) yum install -y epel-release yum install -y gtk2 gtk2-devel munge munge-devel python python3 b) 配置munge #兩臺(tái)機(jī)器均要配置 chown slurm:slurm /etc/munge chown slurm:slurm /var/run/munge chown slurm:slurm /var/lib/munge chown slurm:slurm /var/log/munge create-munge-key #此步驟只在node1 節(jié)點(diǎn)做即可 scp /etc/munge/munge.key node2:/etc/munge/ chown slurm:slurm /etc/munge/munge.key su - slurm #所有節(jié)點(diǎn)使用slurm 用戶(hù)啟動(dòng)munged munged c) 配置Slurm #所有節(jié)點(diǎn)配置相同 tar xvf slurm-20.11.5.tar.bz2 cd slurm-20.11.5/ ./configure make -j3 make install -j3 cp etc/{slurmctld.service,slurmdbd.service,slurmd.service} /usr/lib/systemd/system vi /usr/local/etc/slurm.conf #配置文件附在PS 中 scp /usr/local/etc/slurm.conf node2:/usr/local/etc/ chown slurm:slurm /var/spool/ systemctl start slurmctld #主節(jié)點(diǎn)啟動(dòng)slurmctld、slurmd systemctl start slurmd #從節(jié)點(diǎn)只需啟動(dòng)slurmd 即可
a) 系統(tǒng)命令測(cè)試 [root[@node1](https://my.oschina.net/u/4273199) ~]# sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST control up infinite 1 idle node1 compute* up infinite 2 idle node[1-2] [root[@node1](https://my.oschina.net/u/4273199) ~]# srun -N 2 -l hostname # -N 2 執(zhí)行的節(jié)點(diǎn)數(shù) 0: node1 1: node2 至此Slurm 集群搭建完成 b) mpi 測(cè)試 vi test.c #測(cè)試程序在PS 中 mpicc -o test test.c #編譯mpi 程序 vi tj.sh #作業(yè)腳本在PS 中 sbatch tj.sh #提交作業(yè) squeue #查看作業(yè)狀態(tài) [root[@node1](https://my.oschina.net/u/4273199) ~]# cat test.out #查看作業(yè)結(jié)果 node2: Hello world from process 2 number of processes: 4 ...node1: Hello world from process 0 node2: Hello world from process 3 node1: Hello world from process 1
a) tj.sh 作業(yè)腳本 #!/bin/sh #SBATCH -o /root/test.out #結(jié)果輸出到test.out #SBATCH --nodes=2 #節(jié)點(diǎn)數(shù):2 #SBATCH --ntasks-per-node=2 mpirun /root/test b) slurm.conf 配置文件 SlurmctldHost=node1 #主節(jié)點(diǎn) MpiDefault=none ProctrackType=proctrack/pgid #通過(guò)網(wǎng)站配置注意修改 ReturnToService=1 SlurmctldPidFile=/var/run/slurmctld.pid SlurmctldPort=6817 SlurmdPidFile=/var/run/slurmd.pid SlurmdPort=6818 SlurmdSpoolDir=/var/spool/slurmd SlurmUser=slurm #slurm 管理用戶(hù) StateSaveLocation=/var/spool SwitchType=switch/none TaskPlugin=task/affinity InactiveLimit=0 KillWait=30 MinJobAge=300 SlurmctldTimeout=120 SlurmdTimeout=300 Waittime=0 SchedulerType=sched/backfill SelectType=select/cons_tres SelectTypeParameters=CR_Core AccountingStorageType=accounting_storage/none AccountingStoreJobComment=YES ClusterName=siton #集群名 JobCompType=jobcomp/none JobAcctGatherFrequency=30 JobAcctGatherType=jobacct_gather/none SlurmctldDebug=info SlurmdDebug=info NodeName=node1,node2 CPUs=4 RealMemory=2 Sockets=4 CoresPerSocket=1 ThreadsPerCore=1 State=UNKNOWN /*節(jié)點(diǎn)名稱(chēng),CPUs 核數(shù),corepersocket,threadspersocket,使用lscpu 查看,realmemory 實(shí)際分配給slurm 內(nèi)存,procs 是實(shí)際CPU 個(gè)數(shù),/proc/cpuinfo 里查看state=unknown是啟動(dòng)集群的時(shí)候?yàn)閡nknown,之后會(huì)變成idle*/ PartitionName=control Nodes=node1 Default=YES MaxTime=INFINITE State=UP PartitionName=compute Nodes=node1,node2 Default=YES MaxTime=INFINITE State=UP /*partitionname 是分成control 和compute,default=yes 是說(shuō)這個(gè)用來(lái)計(jì)算*/ 可以通過(guò)https://slurm.schedmd.com/configurator.html 生成配置文件 c) mpi 測(cè)試程序 #include <stdio.h> #include <mpi.h> #include <stdlib.h> #include <time.h> int main(int argc, char* argv[]) { int myid, numprocs, namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myid); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Get_processor_name(processor_name, &namelen); if (myid == 0) printf("number of processes: %d\n...", numprocs); printf("%s: Hello world from process %d \n", processor_name, myid); MPI_Finalize(); return 0; }
修改slurm.conf 文件 GresTypes=gpu NodeName=slave3 Sockets=2 Procs=32 CoresPerSocket=8 ThreadsPerCore=2 RealMemory=3000 Gres=gpu:tesla:2 State=UNKNOWN NodeAddr=10.135.12.29 此外,slave3 這個(gè)機(jī)器需配置GPU 信息,編輯/usr/local/etc/gres.conf 文件 Name=gpu Type=tesla File=/dev/nvidia0 Name=gpu Type=tesla File=/dev/nvidia1 slurm 腳本中添加gres 指定gpu 資源 #SBATCH --gres=gpu:tesla:2
到此,相信大家對(duì)“Slurm集群搭建的教程”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
標(biāo)題名稱(chēng):Slurm集群搭建的教程
URL標(biāo)題:http://aaarwkj.com/article22/ijpcjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站收錄、虛擬主機(jī)、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)公司、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)