프로그램 사용/openHPC2020. 12. 23. 17:07

결론만 말하자면, virtualbox에서 가상 cpu의 갯수는 아래의 곱으로 설정을 해주어야 한다.

물리 서버에서 한다면 하이퍼 쓰레드랑 고려해서 적절하게 해주면 될 듯.

 

 

아래의 값이 기본값인데 openhpc 에서는 좀 높게 설정하네?

Sockets=1 CoresPerSocket=1 ThreadsPerCore=1

 

/etc/slurm/slurm.conf.ohpc

Sockets=2 CoresPerSocket=8 ThreadsPerCore=2

 

Socket은 TCP랑은 1도 상관없는 물리적인 CPU 소켓 갯수를 의미한다.

요즘 추세야 1cpu 멀티코어니까 1로 해도 무방할듯하고

 

CoresPerSocket은 1개 물리 CPU에 들어있는 physical CPU의 갯수

 

ThreadsPerCore는 intel 기준 HT 사용시 2로 1개 코어에서 사용하는 쓰레드 갯수를 의미한다.

 

Sockets
Number of physical processor sockets/chips on the node (e.g. "2"). If Sockets is omitted, it will be inferred from CPUs, CoresPerSocket, and ThreadsPerCore. NOTE: If you have multi-core processors, you will likely need to specify these parameters. Sockets and SocketsPerBoard are mutually exclusive. If Sockets is specified when Boards is also used, Sockets is interpreted as SocketsPerBoard rather than total sockets. The default value is 1.

CoresPerSocket
Number of cores in a single physical processor socket (e.g. "2"). The CoresPerSocket value describes physical cores, not the logical number of processors per socket. NOTE: If you have multi-core processors, you will likely need to specify this parameter in order to optimize scheduling. The default value is 1.

ThreadsPerCore
Number of logical threads in a single physical core (e.g. "2"). Note that the Slurm can allocate resources to jobs down to the resolution of a core. If your system is configured with more than one thread per core, execution of a different job on each thread is not supported unless you configure SelectTypeParameters=CR_CPU plus CPUs; do not configure Sockets, CoresPerSocket or ThreadsPerCore. A job can execute a one task per thread from within one job step or execute a distinct job step on each of the threads. Note also if you are running with more than 1 thread per core and running the select/cons_res or select/cons_tres plugin then you will want to set the SelectTypeParameters variable to something other than CR_CPU to avoid unexpected results. The default value is 1.

[링크 : https://slurm.schedmd.com/slurm.conf.html]

 


CPUs: Count of processors on each compute node. If CPUs is omitted, it will be inferred from: Sockets, CoresPerSocket, and ThreadsPerCore.

 Sockets: Number of physical processor sockets/chips on the node. If Sockets is omitted, it will be inferred from: CPUs, CoresPerSocket, and ThreadsPerCore.

 CoresPerSocket: Number of cores in a single physical processor socket. The CoresPerSocket value describes physical cores, not the logical number of processors per socket.

 ThreadsPerCore: Number of logical threads in a single physical core.

[링크 : https://slurm.schedmd.com/configurator.html]

'프로그램 사용 > openHPC' 카테고리의 다른 글

xcat 는 arm 미지원  (0) 2020.12.28
xcat stateful, stateless  (0) 2020.12.28
slurm 먼가 까다롭네...  (3) 2020.12.23
slurm.conf 생성기  (0) 2020.12.23
openhpc, slurm 시도..  (0) 2020.12.22
Posted by 구차니
프로그램 사용/openHPC2020. 12. 23. 10:22

수동으로 막 서비스 올리고 쑈를 해야지 먼가 돌아가는 척 하는 것 같은데

 

일단은 먼가 이제야 실행을 하려고 하나보다 싶은 느낌..

# srun mpi_hello_world
srun: error: openhpc-1: task 0: Exited with exit code 2
slurmstepd: error: couldn't chdir to `/root/src/mpitutorial/tutorials/mpi-hello-world/code': No such file or directory: going to /tmp instead
slurmstepd: error: execve(): mpi_hello_world: No such file or directory

 

헐...?!?!?

vnfs를 다시 만들어야 하게 생겼네 ㅠㅠ

# srun mpi_hello_world
srun: error: openhpc-1: task 0: Exited with exit code 127
mpi_hello_world: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory

 

크흡.. 너무 최신버전으로 빌드했나 ㅠㅠ

# find / -name libmpi*
find: '/proc/sys/fs/binfmt_misc': No such device
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpi.a
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpi.so
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpi.so.12
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpi.so.12.1.8
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpich.so
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpichcxx.so
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpichf90.so
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpicxx.a
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpicxx.so
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpicxx.so.12
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpicxx.so.12.1.8
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpifort.a
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpifort.so
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpifort.so.12
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpifort.so.12.1.8

 

+

# cat makefile
EXECS=mpi_hello_world
MPICC?=mpicc

all: ${EXECS}

mpi_hello_world: mpi_hello_world.c
        ${MPICC} -o mpi_hello_world mpi_hello_world.c /opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpi.so.12.1.8

clean:
        rm -f ${EXECS}

 

링크된 파일을 보는데 not found 흐음...

# ldd mpi_hello_world
        linux-vdso.so.1 (0x00007ffeeb74c000)
        libmpi.so.12 => not found
        libmpi.so.40 => /usr/local/lib/libmpi.so.40 (0x00007f75294fc000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f75292dc000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f7528f19000)
        libopen-rte.so.40 => /usr/local/lib/libopen-rte.so.40 (0x00007f7528c63000)
        libopen-pal.so.40 => /usr/local/lib/libopen-pal.so.40 (0x00007f752895c000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f7528758000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f7528550000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f75281ce000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007f7527fca000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f752981f000)

[링크 : https://stackoverflow.com/questions/3384897/]

 

 

+

ldconfig 환경 설정에서 하나 추가해주고 했는데

# cat /etc/ld.so.conf.d/bind-export-x86_64.conf
/usr/lib64//bind9-export/
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/

일단은 mpi가 추가된건 확인

# ldconfig -v | grep mpi
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib:
        libmpicxx.so.12 -> libmpicxx.so.12.1.8
        libmpi.so.12 -> libopa.so
        libmpifort.so.12 -> libmpifort.so.12.1.8

이제는 libmpi.so.12는 사라지고 libmpi.so.40이 없다고 나오는군.. 흐음..

$ srun mpi_hello_world
mpi_hello_world: error while loading shared libraries: libmpi.so.40: cannot open shared object file: No such file or directory
srun: error: openhpc-1: task 0: Exited with exit code 127

 

[링크 : https://yongary.tistory.com/45]

[링크 : https://chuls-lee.tistory.com/10]

 

 

 

+

나 앞에서 openmpi 4.0 빌드한다고 왜 쑈했냐...

/opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/bin

 

# ldd mpi_hello_world
        linux-vdso.so.1 (0x00007ffdd4285000)
        libmpi.so.12 => /opt/ohpc/pub/mpi/mpich-ucx-gnu9-ohpc/3.3.2/lib/libmpi.so.12 (0x00007f477fe00000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f477fa3d000)
        libgfortran.so.5 => /lib64/libgfortran.so.5 (0x00007f477f5c0000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f477f23e000)
        libucp.so.0 => /lib64/libucp.so.0 (0x00007f477efdf000)
        libucs.so.0 => /lib64/libucs.so.0 (0x00007f477eda1000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f477eb81000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f477e979000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f477e761000)
        libquadmath.so.0 => /lib64/libquadmath.so.0 (0x00007f477e520000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f4780354000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f477e309000)
        libuct.so.0 => /lib64/libuct.so.0 (0x00007f477e0dd000)
        libnuma.so.1 => /lib64/libnuma.so.1 (0x00007f477ded1000)
        libucm.so.0 => /lib64/libucm.so.0 (0x00007f477dcbb000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f477dab7000)

 

아니 왜 여기서 fortran이 나와 ㅠㅠㅠㅠㅠㅠㅠㅠ

$ srun mpi_hello_world
mpi_hello_world: error while loading shared libraries: libgfortran.so.5: cannot open shared object file: No such file or directory
srun: error: openhpc-1: task 0: Exited with exit code 127

 

 

+ 이 세개만 추가하면 되려나? ㅠㅠ

yum -y --installroot=$CHROOT install libgfortran libquadmath ucx

 

libgfortran.i686 : Fortran runtime
libquadmath-devel.x86_64 : GCC __float128 support
ucx.x86_64 : UCX is a communication library implementing high-performance messaging

[링크 : https://pkgs.org/download/libucp.so.0()(64bit)]

 

 

일단은 실행에 성공한 듯?

다만 nodename에 설정한 이상의 task는 실행할 수 없는 듯?(-n)

NodeName=openhpc-[1-2] Sockets=1 CoresPerSocket=1 ThreadsPerCore=1 State=UNKNOWN

 

아무튼 2개 노드에 1개의 태스크를 하라니 1개는 할당을 못하고 openhpc-1에서만 구동한 것 같고

$ srun -N 2 -n 1 mpi_hello_world
srun: Warning: can't run 1 processes on 2 nodes, setting nnodes to 1
Hello world from processor openhpc-1, rank 0 out of 1 processors

 

2개 노드에 2개 태스크 하라니 openhpc-1,openhpc-2 노드에서 각각 하나씩 실행한 듯.

$ srun -N 2 -n 2 mpi_hello_world
Hello world from processor openhpc-1, rank 0 out of 1 processors
Hello world from processor openhpc-2, rank 0 out of 1 processors

 

다만 2개 노드에 3개 하라니까 그 숫자 이상부터는 task로 할당되는데 실행이 안되는걸 보면 또 설정 문제인가.. ㅠㅠ

$ srun -N 2 -n 3 mpi_hello_world
srun: Requested partition configuration not available now
srun: job 84 queued and waiting for resources
^Csrun: Job allocation 84 has been revoked
srun: Force Terminated job 84

 

slurmd랑 munged가 좀 튀는데..

너무 순식간에 끝나는 애라 그런가 top에 잡히지도 않는다.

 

 

+

서버측의 /var/log/slurmctld.log 를 확인하니

시스템에서 구성된 리소스 보다 크게 잡을순 없다고..

[2020-12-23T02:40:11.527] error: Node openhpc-1 has low socket*core*thread count (1 < 4)
[2020-12-23T02:40:11.527] error: Node openhpc-1 has low cpu count (1 < 4)
[2020-12-23T02:40:11.527] error: _slurm_rpc_node_registration node=openhpc-1: Invalid argument

 

 

+

virtualbox에서 cpu를 4개로 올려주고 설정 바꾸어서 정상작동 확인

$ srun -N 2 -n 4 mpi_hello_world
Hello world from processor openhpc-1, rank 0 out of 1 processors
Hello world from processor openhpc-1, rank 0 out of 1 processors
Hello world from processor openhpc-2, rank 0 out of 1 processors
Hello world from processor openhpc-2, rank 0 out of 1 processors

저 rank는 멀까..

$ srun -N 2 -n 8 mpi_hello_world 
Hello world from processor openhpc-2, rank 0 out of 1 processors 
Hello world from processor openhpc-2, rank 0 out of 1 processors 
Hello world from processor openhpc-1, rank 0 out of 1 processors 
Hello world from processor openhpc-2, rank 0 out of 1 processors 
Hello world from processor openhpc-1, rank 0 out of 1 processors 
Hello world from processor openhpc-1, rank 0 out of 1 processors 
Hello world from processor openhpc-1, rank 0 out of 1 processors 
Hello world from processor openhpc-2, rank 0 out of 1 processors 

 

아무튼 사용 가능한 코어 갯수를 넘어가면 아래와 같이 무기한 대기가 걸려

사실상 실행을 못하게 되는 것 같기도 하다?

$ srun -N 2 -n 12 mpi_hello_world
srun: Requested partition configuration not available now
srun: job 92 queued and waiting for resources
^Csrun: Job allocation 92 has been revoked
srun: Force Terminated job 92

'프로그램 사용 > openHPC' 카테고리의 다른 글

xcat stateful, stateless  (0) 2020.12.28
slurm.conf 과 cpu 코어  (1) 2020.12.23
slurm.conf 생성기  (0) 2020.12.23
openhpc, slurm 시도..  (0) 2020.12.22
openmpi 및 예제  (0) 2020.12.22
Posted by 구차니
프로그램 사용/openHPC2020. 12. 23. 10:12

 

[링크 : https://slurm.schedmd.com/configurator.html]

'프로그램 사용 > openHPC' 카테고리의 다른 글

slurm.conf 과 cpu 코어  (1) 2020.12.23
slurm 먼가 까다롭네...  (3) 2020.12.23
openhpc, slurm 시도..  (0) 2020.12.22
openmpi 및 예제  (0) 2020.12.22
openmpi on centos8  (0) 2020.12.17
Posted by 구차니
프로그램 사용/openHPC2020. 12. 22. 17:38

일단 현재 실행은 실패 -_ㅠ

scontrol update NodeName=c[1-5] state=RESUME
sinfo -all
srun -n8 hellompi.o
sacct -a

[링크 : https://groups.io/g/OpenHPC-users/topic/srun_required_node_not/74202339...]

 

 

# srun -n 2 -N 2 --pty /bin/bash 
srun: Required node not available (down, drained or reserved) 
srun: job 5 queued and waiting for resources 
^Csrun: Job allocation 5 has been revoked 
srun: Force Terminated job 5

 

 

# sinfo -all 
Tue Dec 22 02:54:55 2020 
PARTITION AVAIL  TIMELIMIT   JOB_SIZE ROOT OVERSUBS     GROUPS  NODES       STATE NODELIST 
normal*      up 1-00:00:00 1-infinite   no EXCLUSIV        all      2     drained openhpc-[1-2]

 

 

# sacct -a 
       JobID    JobName  Partition    Account  AllocCPUS      State ExitCode 
------------ ---------- ---------- ---------- ---------- ---------- -------- 
2                  bash     normal     (null)          0  CANCELLED      0:0 
3                  bash     normal     (null)          0  CANCELLED      0:0 
4                  bash     normal     (null)          0  CANCELLED      0:0 
5                  bash     normal     (null)          0  CANCELLED      0:0 
6            mpi_hello+     normal     (null)          0  CANCELLED      0:0

 

 

drain 상태..

[링크 : https://stackoverflow.com/questions/22480627/what-does-the-state-drain-mean]

 

 

state를 바꾸어 주면 된다는데 안되네..

작업을 다 죽이고 idle로 바꾸라는데 작업은 어떻게 죽이지?

[링크 : https://stackoverflow.com/questions/29535118/how-to-undrain-slurm-nodes-in-drain-state]

 

 

slurm job cancel(잡 죽이기)

 

The normal method to kill a Slurm job is: 

    $ scancel <jobid> 

You can find your jobid with the following command: 

    $ squeue -u $USER 

If the the job id is 1234567 then to kill the job: 

    $ scancel 1234567

[링크 : https://researchcomputing.princeton.edu/faq/how-to-kill-a-slurm-job]

 

state가 cancelled 는 이미 취소된것이기 때문에 scancel로 취소되지 않는다.

$ scancel -v 8 
scancel: Terminating job 8 
scancel: error: Kill job error on job id 8: Job/step already completing or completed

 

왜 안되나 했는데 코어와 쓰레드 갯수에 제한이 있었던 건가?

# sinfo -R -v
Reason=Low socket*core*thread count, Low CPUs

[링크 : https://groups.io/g/OpenHPC-users/topic/slurmd_in_compute_nodes/22449264?p=]

 

 

+

오예~

원래는 2 8 2 였나 그런데 1 1 1 로 바꾸니

NodeName=openhpc-[1-2] Sockets=1 CoresPerSocket=1 ThreadsPerCore=1 State=UNKNOWN

 

idle로 전환이 된다?

# scontrol update Nodename=openhpc-[1-2] state=idle
# sinfo -all
Tue Dec 22 03:49:23 2020
PARTITION AVAIL  TIMELIMIT   JOB_SIZE ROOT OVERSUBS     GROUPS  NODES       STATE NODELIST
normal*      up 1-00:00:00 1-infinite   no EXCLUSIV        all      2       idle* openhpc-[1-2]

 

 

실행 안되는건 매한가지 ㅠㅠ

 

+

컴퓨트 노드쪽의 slurmd 가 구동되지 않아서 그런듯

하지만...

 

역시 안되는건 매한가지 ㅠㅠ 산넘어 산이구나

srun: error: slurm_receive_msgs: Socket timed out on send/recv operation

 

 

+

음...

[2020-12-22T04:18:08.435] error: Node openhpc-1 has low socket*core*thread count (1 < 32)
[2020-12-22T04:18:08.435] error: Node openhpc-1 has low cpu count (1 < 32)
[2020-12-22T04:18:08.435] error: _slurm_rpc_node_registration node=openhpc-1: Invalid argument

 

도대체 어떻게 값을 주어야 잘 도냐...

# slurmd -C
NodeName=openhpc-1 CPUs=1 Boards=1 SocketsPerBoard=1 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=968
NodeName=openhpc-[1-2] Sockets=1 CoresPerSocket=1 ThreadsPerCore=1 State=UNKNOWN

 

아래가 원래값. 위에 식에 의해서 2*8*2 니까 32를 넘어서 작동이 되는건가?

NodeName=c[1-4] Sockets=2 CoresPerSocket=8 ThreadsPerCore=2 State=UNKNOWN

 

 

 

'프로그램 사용 > openHPC' 카테고리의 다른 글

slurm 먼가 까다롭네...  (3) 2020.12.23
slurm.conf 생성기  (0) 2020.12.23
openmpi 및 예제  (0) 2020.12.22
openmpi on centos8  (0) 2020.12.17
slurmd: fatal: Unable to determine this slurmd's NodeName  (0) 2020.12.15
Posted by 구차니
프로그램 사용/openHPC2020. 12. 22. 16:29

ㅋㅋㅋ lots of output

아무튼 configure에 --prefix로 설치될 경로를 넣어주고

make all install 하면 끝~

$ gunzip -c openmpi-4.1.0.tar.gz | tar xf -
$ cd openmpi-4.1.0
$ ./configure --prefix=/usr/local
<...lots of output...>
$ make all install

[링크 : https://www.open-mpi.org/faq/?category=building]

 

 

예제

# ./mpi_hello_world
Hello world from processor master, rank 0 out of 1 processors

[링크 : https://mpitutorial.com/tutorials/mpi-hello-world/]

[링크 : https://github.com/mpitutorial/mpitutorial]

'프로그램 사용 > openHPC' 카테고리의 다른 글

slurm.conf 생성기  (0) 2020.12.23
openhpc, slurm 시도..  (0) 2020.12.22
openmpi on centos8  (0) 2020.12.17
slurmd: fatal: Unable to determine this slurmd's NodeName  (0) 2020.12.15
environment module / lmod  (0) 2020.12.15
Posted by 구차니
프로그램 사용/openHPC2020. 12. 17. 12:23

다시 한번 밀고 해봐야하나..

아무튼 mpicc가 안되었던것 같은데 잘된다?

 

$ sudo yum install openmpi-devel
$ module load mpi
$ mpifort --version

 

[링크 : https://mfix.netl.doe.gov/forum/t/openmpi-installation-in-centos7/543/2]

'프로그램 사용 > openHPC' 카테고리의 다른 글

openhpc, slurm 시도..  (0) 2020.12.22
openmpi 및 예제  (0) 2020.12.22
slurmd: fatal: Unable to determine this slurmd's NodeName  (0) 2020.12.15
environment module / lmod  (0) 2020.12.15
openHPC 설치 part3?  (0) 2020.12.15
Posted by 구차니

 

cd C:\Program Files\Oracle\VirtualBox
VBoxManage modifyvm "vmname" --defaultfrontend headless

[링크 : https://superuser.com/questions/1182637/how-to-make-vm-in-virtualbox-start-headless-by-default]

Posted by 구차니
프로그램 사용/openHPC2020. 12. 15. 12:06

예제에서 컴퓨트 노드를 c1 이런식으로 이름을 지어놨는데

openhpc-로 접두를 바꾸면서 생기는 문제

에러 그대로 NodeName을 판별할 수 없다는데

아래 경로의 파일을 수정해주면 문제없이 된다.

cp /opt/ohpc/admin/images/centos8.2/etc/slurm/slurm.conf.ohpc /opt/ohpc/admin/images/centos8.2/etc/slurm/slurm.conf

vi /opt/ohpc/admin/images/centos8.2/etc/slurm/slurm.conf

NodeName=openhpc-[1-2] Sockets=2 CoresPerSocket=8 ThreadsPerCore=2 State=UNKNOWN 
PartitionName=normal Nodes=openhpc-[1-2] Default=YES MaxTime=24:00:00 State=UP Oversubscribe=EXCLUSIVE 

 

-

도대체 머가 문제일까...

 

# slurmd -v
slurmd: fatal: Unable to determine this slurmd's NodeName
# slurmd -V
slurm 20.02.5
# slurmd -C
NodeName=openhpc-1 CPUs=1 Boards=1 SocketsPerBoard=1 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=968
UpTime=0-00:30:27

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?t=245429]

[링크 : https://serverfault.com/questions/988027/slurm-service-running-failed-again-i-dont-know-why]

[링크 : https://medium.com/@racedowling/slurmd-exits-with-error-slurmd-718-fatal-unable-to-determine-this-slurmds-nodename-on-both-7542564befbf]

 

'프로그램 사용 > openHPC' 카테고리의 다른 글

openmpi 및 예제  (0) 2020.12.22
openmpi on centos8  (0) 2020.12.17
environment module / lmod  (0) 2020.12.15
openHPC 설치 part3?  (0) 2020.12.15
OpenFabrics interface - ofi  (0) 2020.12.14
Posted by 구차니
프로그램 사용/openHPC2020. 12. 15. 11:11

 

[링크 : https://github.com/cea-hpc/modules]

[링크 : https://modules.readthedocs.io/en/latest/cookbook/compiler-etc-dependencies.html]

[링크 : https://modules.readthedocs.io/en/latest/INSTALL.html]

 

[링크 : https://lmod.readthedocs.io/en/latest/]

[링크 : https://lmod.readthedocs.io/en/latest/030_installing.html]

'프로그램 사용 > openHPC' 카테고리의 다른 글

openmpi on centos8  (0) 2020.12.17
slurmd: fatal: Unable to determine this slurmd's NodeName  (0) 2020.12.15
openHPC 설치 part3?  (0) 2020.12.15
OpenFabrics interface - ofi  (0) 2020.12.14
MVAPICH2  (0) 2020.12.14
Posted by 구차니
프로그램 사용/openHPC2020. 12. 15. 10:18

 

4.3 에서 module 명령이 안되기 시작하면서

4.4~4.6이 정상적으로 설치되지 않는다.

4.1 Development Tools
4.2 Compilers

yum -y install ohpc-autotools
yum -y install EasyBuild-ohpc
yum -y install hwloc-ohpc
yum -y install spack-ohpc
yum -y install valgrind-ohpc
yum -y install gnu9-compilers-ohpc

4.3 MPI Stacks
yum -y install mpich-ucx-gnu9-ohpc
module avail mpich

4.4 Performance Tools
yum -y install ohpc-gnu9-perf-tools

4.5 Setup default development environment
yum -y install lmod-defaults-gnu9-openmpi4-ohpc

4.6 3rd Party Libraries and Tools
yum -y install ohpc-gnu9-mpich-parallel-libs
yum -y install ohpc-gnu9-openmpi4-parallel-libs

4.7 Optional Development Tool Builds
yum -y install intel-compilers-devel-ohpc
yum -y install intel-mpi-devel-ohpc

5 Resource Manager Startup
systemctl enable munge
systemctl enable slurmctld
systemctl start munge
systemctl start slurmctld

+
yum -y install yum install pdsh-ohpc

pdsh -w $compute_prefix[1-2] systemctl start munge
pdsh -w $compute_prefix[1-2] systemctl start slurmd
scontrol update nodename=c[1-4] state=idle

7 Run a Test Job
useradd -m test
wwsh file resync passwd shadow group
pdsh -w $compute_prefix[1-2] /warewulf/bin/wwgetfiles

7.1 Interactive execution
su - test
 mpicc -O3 /opt/ohpc/pub/examples/mpi/hello.c
 srun -n 8 -N 2 --pty /bin/bash[test@c1 ~]$ prun ./a.out

7.2 Batch execution
 cp /opt/ohpc/pub/examples/slurm/job.mpi .
 cat job.mpi
 #!/bin/bash
 #SBATCH -J test # Job name
 #SBATCH -o job.%j.out # Name of stdout output file (%j expands to %jobId)
 #SBATCH -N 2 # Total number of nodes requested
 #SBATCH -n 16 # Total number of mpi tasks #requested
 #SBATCH -t 01:30:00 # Run time (hh:mm:ss) - 1.5 hours
 # Launch MPI-based executable
 prun ./a.out

 sbatch job.mpi

 

# yum install ohpc-gnu9-perf-tools
마지막 메타 데이터 만료 확인 : 0:00:55 전에 2020년 12월 14일 (월) 오후 09시 28분 27초.
오류:
 문제: package ohpc-gnu9-perf-tools-2.0-47.1.ohpc.2.0.x86_64 requires scalasca-gnu9-mpich-ohpc, but none of the providers can be installed
  - package scalasca-gnu9-mpich-ohpc-2.5-2.3.ohpc.2.0.x86_64 requires lmod-ohpc >= 7.6.1, but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides lua-filesystem needed by lmod-ohpc-8.2.10-15.1.ohpc.2.0.x86_64
  - nothing provides lua-posix needed by lmod-ohpc-8.2.10-15.1.ohpc.2.0.x86_64
(설치할 수 없는 패키지를 건너 뛰려면 '--skip-broken'을 (를) 추가하십시오. 또는 '--nobest'은/는 최상의 선택된 패키지만 사용합니다)
# yum -y install gnu9-compilers-ohpc
마지막 메타 데이터 만료 확인 : 0:01:36 전에 2020년 12월 14일 (월) 오후 09시 28분 27초.
패키지 gnu9-compilers-ohpc-9.3.0-15.1.ohpc.2.0.x86_64이/가 이미 설치되어 있습니다.
종속성이 해결되었습니다.
할 것이 없음.
완료되었습니다!
#  yum -y install mpich-ucx-gnu9-ohpc
마지막 메타 데이터 만료 확인 : 0:01:46 전에 2020년 12월 14일 (월) 오후 09시 28분 27초.
패키지 mpich-ucx-gnu9-ohpc-3.3.2-13.1.ohpc.2.0.x86_64이/가 이미 설치되어 있습니다.
종속성이 해결되었습니다.
할 것이 없음.
완료되었습니다!
# yum -y install ohpc-gnu9-perf-tools
마지막 메타 데이터 만료 확인 : 0:02:45 전에 2020년 12월 14일 (월) 오후 09시 28분 27초.
오류:
 문제: package ohpc-gnu9-perf-tools-2.0-47.1.ohpc.2.0.x86_64 requires scalasca-gnu9-mpich-ohpc, but none of the providers can be installed
  - package scalasca-gnu9-mpich-ohpc-2.5-2.3.ohpc.2.0.x86_64 requires lmod-ohpc >= 7.6.1, but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides lua-filesystem needed by lmod-ohpc-8.2.10-15.1.ohpc.2.0.x86_64
  - nothing provides lua-posix needed by lmod-ohpc-8.2.10-15.1.ohpc.2.0.x86_64
(설치할 수 없는 패키지를 건너 뛰려면 '--skip-broken'을 (를) 추가하십시오. 또는 '--nobest'은/는 최상의 선택된 패키지만 사용합니다)
# yum install lmod-ohpc
마지막 메타 데이터 만료 확인 : 0:03:12 전에 2020년 12월 14일 (월) 오후 09시 28분 27초.
오류:
 문제: cannot install the best candidate for the job
  - nothing provides lua-filesystem needed by lmod-ohpc-8.2.10-15.1.ohpc.2.0.x86_64
  - nothing provides lua-posix needed by lmod-ohpc-8.2.10-15.1.ohpc.2.0.x86_64
(설치할 수 없는 패키지를 건너 뛰려면 '--skip-broken'을 (를) 추가하십시오. 또는 '--nobest'은/는 최상의 선택된 패키지만 사용합니다)
#  yum -y install lmod-defaults-gnu9-openmpi4-ohpc
마지막 메타 데이터 만료 확인 : 0:03:47 전에 2020년 12월 14일 (월) 오후 09시 28분 27초.
오류:
 문제: package lmod-defaults-gnu9-openmpi4-ohpc-2.0-4.1.ohpc.2.0.noarch requires lmod-ohpc, but none of the providers can be installed
  - conflicting requests
  - nothing provides lua-filesystem needed by lmod-ohpc-8.2.10-15.1.ohpc.2.0.x86_64
  - nothing provides lua-posix needed by lmod-ohpc-8.2.10-15.1.ohpc.2.0.x86_64
(설치할 수 없는 패키지를 건너 뛰려면 '--skip-broken'을 (를) 추가하십시오. 또는 '--nobest'은/는 최상의 선택된 패키지만 사용합니다)

'프로그램 사용 > openHPC' 카테고리의 다른 글

slurmd: fatal: Unable to determine this slurmd's NodeName  (0) 2020.12.15
environment module / lmod  (0) 2020.12.15
OpenFabrics interface - ofi  (0) 2020.12.14
MVAPICH2  (0) 2020.12.14
ip, ifconfig 없이 ip 알아내기  (0) 2020.12.08
Posted by 구차니