※ slurm gres.conf에 AutoDetect 옵션 사용을 위한 rpmbuild 빌드방법과 간단한 예제
1. NVIDIA GPU
- cuda toolkit 설치
$ wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run $ sudo sh cuda_11.8.0_520.61.05_linux.run |
- rpmbuild 옵션에 "--with-nvml"을 추가
$ rpmbuild --define "_with_nvml --with-nvml=/usr/local/cuda-11.8" -ta slurm-22.05.6.tar.bz2 |
- gpu 라이브러리 포함 확인
$ cd ${HOME}/rpmbuild/RPMS/x86_64 $ rpm -qlp slurm-22.05.6-1.el8.x86_64.rpm | grep -i nvml /usr/lib64/slurm/gpu_nvml.so |
2. AMD GPU
- rocm 설치
- rpmbuild 옵션에 "--with-rsmi"을 추가
$ rpmbuild --define "_with_rsmi --with-rsmi=/opt/rocm-6.3.1" -ta slurm-24.11.1.tar.bz2 |
- gpu 라이브러리 포함 확인
$ cd ${HOME}/rpmbuild/RPMS/x86_64 $ rpm -qlp slurm-24.11.1-1.el9.x86_64.rpm | grep -i rsmi /usr/lib64/slurm/gpu_rsmi.so |
3. INTEL GPU
- oneAPI 설치
- rpmbuild 옵션에 "--with-oneapi"을 추가
$ rpmbuild --define "_with_oneapi --with-oneapi=/data/apps/intel/oneapi" -ta slurm-24.11.1.tar.bz2 |
4. GPU 별 gres.conf 작성 예제
- NVIDIA GPU
AutoDetect=nvml |
- AMD GPU
AutoDetect=rsmi |
- INTEL GPU
AutoDetect=oneapi |
※ nvida와 nrt(AWS Trainium/Inferentia device)도 사용가능. 단 nvml 대신 nvidia옵션 사용시 MIG와 NVLINK 감지 할 수 없음
5. 기타
- 참고#1: https://slurm.schedmd.com/gres.html
- 참고#2: https://slurm.schedmd.com/platforms.html
'Applications > Scheduler' 카테고리의 다른 글
[PBS] Tip 모음 (0) | 2024.05.02 |
---|---|
[slurm] debuild with gpu (1) | 2024.01.13 |
[Build] slurm installation(RHEL 8.6) (1) | 2023.11.14 |
[Ubuntu] Slurm source install (0) | 2021.09.14 |
PBS vs Slurm (0) | 2021.08.06 |