📔
활용정보
초보사용자 가이드누리온 지침서뉴론 지침서활용정보MyKSC 지침서
  • 활용정보
  • 1️⃣소프트웨어 설치
    • 누리온
      • LAMMPS
        • lammps-2Aug2023 설치 소개
        • lammps-3Mar20 설치 소개(SKL)
        • lammps-3Mar20 설치 소개(KNL)
        • lammps-12Dec18 설치 소개
      • GROMACS
        • GROMACS-2021.4 버전 설치 소개 (SKL)
        • GROMACS-2021.4 버전 설치 소개 (KNL)
        • GROMACS-2020.2 버전 설치 소개 (KNL)
        • GROMACS-2020.2 버전 설치 소개 (SKL)
        • GROMACS-2018.6 버전 설치 소개 (KNL)
        • GROMACS-2018.6 버전 설치 소개 (SKL)
        • GROMACS-5.1.4 설치
      • Quantum Espresso
        • Quantum Espresso-7.2 설치 소개
        • Quantum Espresso-6.6 설치 소개
        • Quantum Espresso-6.2.1 설치 소개
      • OpenFOAM
        • OpenFOAM-v1912 설치 소개
        • OpenFOAM-v1712 설치 소개
        • OpenFOAM-7 버전 설치 소개(SKL)
        • OpenFOAM-7 버전 설치 소개(KNL)
        • OpenFOAM-5.x 버전 설치 소개(SKL)
        • OpenFOAM-5.x 버전 설치 소개(KNL)
      • VASP
        • VASP 6.5.0 설치 소개
        • VASP 6.1.0 설치 소개
        • VASP 5.4.4 설치 (KNL)
        • VASP 5.4.4 설치 (SKL)
        • VASP 5.3.5 설치
      • 누리온 R-3.6.2 버전 설치 소개
      • CP2K
        • CP2K-6.1.0 버전 설치 소개
        • CP2K-5.1.0 버전 설치 소개
      • SIESTA
        • SIESTA 4.1-b3 설치(KNL)
        • SIESTA 4.1-b3 설치(SKL)
      • WRF-V3.9.1.1 설치
      • RASPA v2.0.47 설치 소개
      • gcc v8.1.0 설치
      • UPP v3.1 설치 소개
      • mpiP v3.4.1 설치 소개
      • V_Sim v3.7.2 설치 소개
      • foam-extend v3.1 설치 소개
      • ParaView v5.2.0 설치 소개
      • AutoDock Vina v1.1.2 설치 소개
      • DDSCAT v7.3.3 설치 소개
    • 뉴론
      • VASP
        • VASP 6.4.3 설치 (GPU)
        • VASP 5.4.4 설치 (GPU)
      • GROMACS
        • GROMACS-2018.6 (GPU 버전) 설치
        • GROMACS-2016.4 (GPU 버전) 설치
      • LAMMPS
        • lammps-16Mar18 (GPU 버전) 설치
      • NAMD 2.12 (GPU 버전) 설치
      • Quantum Espresso
        • Quantum Espresso-7.3 (GPU 버전) 설치
        • Quantum Espresso-6.6 (GPU 버전) 설치
        • Quantum Espresso-6.4 (GPU 버전) 설치
      • OpenFOAM-v1912 설치 소개 (SKL)
  • 2️⃣슈퍼컴퓨터 활용 팁
    • 공통
      • oneAPI 소개
      • AMD Instinct MI100 GPU 성능 테스트
      • Checkpoint 기능 관련 안내
      • 인터렉티브 작업 제출 예제
      • git 사용 방법 안내
      • PYTHON 2.7 EOL(End of Life) 안내
      • Conda 의 활용 소개
      • CPU 관련 오류 사항 ( illegal instruction )
      • vasp.5.4.4.18Apr17 Version Bug 이슈
      • 컴파일러별 AVX-512 옵션 정리
      • Linux(Unix) 에서 Text 파일 내용에 ^M 이 붙어 있는 경우 해결 방법
      • vasp.5.4.1.24Jun15 Version Bug 이슈
      • 오픈 소스 빌드 시에 OpenMP 체크 오류 (Intel 컴파일러)
      • X86_64 어셈블리 프로그래밍 기초
    • 누리온
      • MVAPICH2/MVAPICH2-X 성능 비교(VASP)
      • WRF
        • WRF 멀티노드 활용(SKL)
        • WRF 멀티노드 활용(KNL)
      • VASP
        • VASP 멀티노드 활용(SKL)
        • VASP 멀티노드 활용(KNL)
      • LAMMPS
        • LAMMPS 멀티노드 활용(SKL)
        • LAMMPS 멀티노드 활용(KNL)
      • Gromacs
        • Gromacs 멀티노드 활용 (SKL)
        • Gromacs 멀티노드 활용 (KNL)
      • QE
        • QE 멀티노드 활용(SKL)
        • QE 멀티노드 활용(KNL)
    • 뉴론
      • SSH Port Forwarding 을 통한 Jupyter 작업 실행
      • AMD 노드 활용
      • LAMMPS 멀티노드 활용
      • Gromacs 멀티노드 활용
      • OpenMPI 3.1.X 이슈 사항
      • MPI 환경설정 및 작업 제출 방법(2021.03)
  • 3️⃣동영상 지침서
    • 공통
      • 파일 전송 (FTP) 사용법
    • 누리온
      • 작업 제출 방법
      • 작업 스크립트 작성법
      • 슈퍼컴퓨터 모듈 사용법
      • 슈퍼컴퓨터 접속 방법 [Windows 사용자]
      • 슈퍼컴퓨터 접속 방법 [Mac 사용자]
    • 뉴론
      • 인터렉티브 작업 방법
      • Slurm 작업 제출 방법
      • conda 설정방법
      • 작업 스크립트 작성 방법
  • 4️⃣기타
    • 누리온
      • FAQ (2025.03)
      • 사용자 지침서 (2021.05)
      • 데스크톱 가상화(VDI)
      • TSMSF 사용자 지침서
      • i-PI 사용법 (LAMMPS)
      • 딥러닝 프레임워크 병렬화 사용법
      • Q-CHEM v5.2 사용자 지침서
      • ABAQUS 사용자 지침서(2020.12)
      • OpenFOAM 사용자 지침서
      • 가우시안16(Gaussian16) S/W 사용 안내 (2019.03)
      • ANSYS FLUENT 사용자 지침서(2020.03)
      • ANSYS CFX 사용자 지침서(2020.02)
      • NASTRAN 사용자 지침서(2020.02)
      • LS-DYNA 사용자 지침서(2020.02)
      • 가우시안16(Gaussian16) LINDA S/W 사용 안내 (2019.08)
    • 뉴론
      • 공유 노드 정책 변경에 따른 메모리 할당량 설정 안내
      • SLURM 스케줄러 Fairshare 스케줄링 정책
      • FAQ (2025.01)
      • OpenFOAM 사용자 지침서
      • Jupyter 사용자 지침서
      • 딥러닝 프레임워크 병렬화 사용법
      • Keras 기반 Multi GPU 사용 방법 (2020.10)
      • 가우시안16(Gaussian16) GPU S/W 사용 안내 (2019.08)
      • slurm 스케쥴러 기본 사용법 (2021.04)
      • 뉴론 시스템 개요(2021.04)
  • External Link
    • Nurion Guide(Eng)
    • Neuron Guide(Eng)
Powered by GitBook
On this page
  • 가. 뉴론 시스템 노드 정책 변경 안내
  • 나. 뉴론 공유 노드 정책에서 메모리 할당량 설정
  • 다. 뉴론 공유 노드 정책에서 GPU 당 CPU core 할당 개수 설정
  • 라. 제출 작업의 메모리 사용량 확인 방법 예시
  • 마. 작업 스크립트 예시
  • 1. 프로그램 실행에 사용할 core 수는 적으나, 메모리 사용량이 큰 경우 노드당 수행될 프로세스 수로 메모리 할당량을 조절하여 프로그램 실행하는 예제
  • 2. #SBATCH –exclusive 설정으로 노드를 전용으로 사용하는 예시
  1. 기타
  2. 뉴론

공유 노드 정책 변경에 따른 메모리 할당량 설정 안내

슈퍼컴퓨팅인프라센터 2022. 3. 31. 12:10

가. 뉴론 시스템 노드 정책 변경 안내

  • 정책 변경시점 : 2022년 3월 17일 예방정비 점검(PM) 이후

  • 정책 적용 파티션 : 모든 파티션

  • 변경 내용 : 배타적 노드 할당 정책 -> 공유 노드 정책

※ 배타적 노드 할당 정책 : 노드 단위 작업 할당 정책으로, 하나의 노드에 하나의 작업만을 할당 ※공유 노드 정책 : CPU 단위 할당 정책으로, 유휴 자원(CPU)이 존재하는 노드에 사용자 작업을 할당하는 방식이며, 하나의 노드에 여러 작업이 할당될 수 있음


나. 뉴론 공유 노드 정책에서 메모리 할당량 설정

  • 뉴론 시스템 자원 활용의 효율성 및 사용자의 안정적인 작업 수행을 위하여 아래와 같이 메모리 할당량을 자동 조절

memory-per-node = ntasks-per-node * cpus-per-task * (단일 노드 메모리 가용량의 95% / 단일 노드 총 core 수)

  • '--mem' (노드 당 메모리 할당) 옵션을 사용하더라도 노드 당 수행될 프로세스 수(ntasks-per-node)와 프로세스 당 할당될 cpu core 수(cpus-per-task)에 따라 메모리 할당량이 자동 계산

  • #SBATCH --exclusive 옵션 사용시에 단일 노드 메모리 가용량의 95%가 작업에 할당되며, 노드를 전용으로 사용할 수 있음, (단 전용으로 사용 가능한 노드가 확보될 때까지 대기 시간이 길어질 수 있음.)

  • GPU 작업 시, 메모리 할당에 대한 안내 및 이해를 돕고자, gpu 사용 개수가 cpu core 수를 초과하는 경우에 아래 안내 메시지 출력되며 작업이 제출되지 않도록 설정되어 있음.

sbatch: error: Job submission failed due to 'CPU_cores_per_node(#cpu core 개수) < GPU_gres_per_node(#gpu 개수)'
sbatch: error: if 'CPU_cores_per_node >= GPU_gres_per_node' then job submission is successful!
…
  • 메모리 할당량을 설정하지 않으면 메모리 부족으로 작업이 종료될 수 있기 때문에 사용자 작업 방식에 맞게 ntasks-per-node, cpus-per-task 또는 exclusive SBATCH 옵션 입력하여 작업 수행 권함

다. 뉴론 공유 노드 정책에서 GPU 당 CPU core 할당 개수 설정

  • GPU 어플리케이션의 안정적인 수행을 위해 노드당 CPU core 개수를 GPU에 비례하여 아래와 같이 기본 할당 (메모리 용량도 자동으로 설정, 참조: 뉴론 공유 노드 정책에서 메모리 할당량 설정)

cpus-per-gpu = node의 총 core 수 / node의 총 GPU 수 * 요청 GPU 수(--gres=gup:)
  • 메모리 요구량 추가로 필요한 경우 기본 할당된 cpus-per-gpu 수 보다 크게 자원을 요청하여 메모리 할당량을 확보할 수 있음. 단, 자동 설정된 cpus-per-gpu 보다 cpu core 요구량을 작게 할당할 경우 기본 할당 개수로 overwrite 됨.

라. 제출 작업의 메모리 사용량 확인 방법 예시

  • 사용자는 자신이 제출한 작업이 수행되고 있는 계산노드에 ssh 명령으로 접속하여 메모리 사용량을 확인할 수 있음

1) 작업이 수행중인 계산노드 확인

$ squeue -u $USER
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
job_number cas_v100_ gpu_job username R 0:00 1 gpu99

2) ssh 명령으로 계산노드 접속

$ ssh gpu99

3) 이후 top, nvidia-smi, htop, nvtop 등의 명령으로 자원 사용량에 대해 확인 (htop, nvtop은 module load nvtop htop 후 사용 가능)

※ 메모리 사용량은 작업 수행과정에 따라 일시적으로 증가할 수 있기 때문에 노드에 접속하여 확인한 값보다 여유롭게 설정하는 것을 권장

마. 작업 스크립트 예시

1. 프로그램 실행에 사용할 core 수는 적으나, 메모리 사용량이 큰 경우 노드당 수행될 프로세스 수로 메모리 할당량을 조절하여 프로그램 실행하는 예제

#!/bin/sh
#SBATCH -J mem_alloc_job
#SBATCH -p cas_v100_4
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=40
#SBATCH -o %x_%j.out
#SBATCH -e %x_%j.err
#SBATCH --time=01:00:00
#SBATCH --comment etc #Application별 SBATCH 옵션 이름표 참고

module purge
module load intel/18.0.2 mpi/impi-18.0.2

#실행할 프로세스 수를 -n 옵션으로 입력
srun -n 1 ./test.exe

※ cas_v100_4 1개 노드 모든 core 점유하여 메모리 할당받는 예제

※ 파티션별 총 core 수는 뉴론 지침서 > 스케줄러(SLURM)를 통한 작업 실행 > 가. 큐 구성 > Total CPU core 수 또는 뉴론 시스템 motd 명령으로 확인 가능

2. #SBATCH –exclusive 설정으로 노드를 전용으로 사용하는 예시

#!/bin/sh
#SBATCH -J exclusive_test
#SBATCH -p cas_v100_4
#SBATCH --nodes=1
#SBATCH --gres=gpu:1
#SBATCH --exclusive
#SBATCH -o %x_%j.out
#SBATCH -e %x_%j.err
#SBATCH --time=01:00:00
#SBATCH --comment etc #Application별 SBATCH 옵션 이름표 참고

module purge
module load python/3.7.1

python test.py

※ exclusive 옵션으로 노드 메모리 가용량의 95%를 작업에 할당받음

Previous뉴론NextSLURM 스케줄러 Fairshare 스케줄링 정책

Last updated 1 year ago

4️⃣