결론만 말하자면, 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. |
'프로그램 사용 > 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 |