How to compile HPL-GPU
Jump to navigation
Jump to search
Overview
How to compile HPL-GPU에 대한 기술 문서입니다.
Summary
- 무엇인가? - How to compile HPL-GPU
- 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
- 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시
Purpose
이 문서가 존재하는 이유
- Goal: How to compile HPL-GPU에 대한 기술 정보 제공
- Scope: How to compile HPL-GPU의 개념, 사용법, 설정
- Non-goals: 다른 주제로의 확장
Key Concepts
| Concept | Description | Related |
|---|---|---|
| How to compile HPL-GPU | HPC/서버 환경에서 중요한 기술 개념 | Linux, Server |
Detailed Explanation
There are many combination to compile High Performance LINPACK (HPL) with different configurations such as different compiler, different basic linear algebra subprograms (BLAS), massage passing interface (MPI) libraries: for example
- Which compiler + HPL + which Blas (OpenBLAS / Intel MKL / CuBLAS) + which MPI (OpenMPI, MPICH, Intel MPI)
In this post, we are going to use GNU compiler, OpenBLAS, OpenMPI for HPL-GPU
- The build system is Intel Skylake CPU, 128GB Memory, Nvidia GPUs on Ubuntu 20.04
- NVIDIA driver is ready and CUDA 12.0 has been installed and library can be found at /usr/local/cuda
- We are using OpenMPI, OpenBlas and hpl-2.0_FERMI_v15 as a ingredient, gcc version 10, g++ version 10 and gfortran version 10
_version=v0.3.23
FILE=$_version.tar.gz
wget http://github.com/xianyi/OpenBLAS/archive/$FILE
tar -xzvf $FILE
cd OpenBLAS-0.3.23
# OpenBLAS does not support f77, GCC or Intel are supported
# type make to detect the CPU automatically. or type make TARGET=xxx to set target CPU, e.g. make TARGET=NEHALEM. The full target list is in file TargetList.txt.
make
# To install the library, you can run "make PREFIX=/path/to/your/installation install".
mkdir -p /opt/hpcmate/home/lib/OpenBLAS-0.3.23
make PREFIX=/opt/hpcmate/home/lib/OpenBLAS-0.3.23 install
ls ~/lib/OpenBLAS-0.3.23/lib
now, compiled OpenBLAS's library and header file is available ~/lib/OpenBLAS-0.3.23
Best Practices
- 최신 버전 사용 권장
- 공식 문서 참고
- 테스트 환경에서 먼저 검증
References
Related Pages
Knowledge Graph
Related
→ CUDA → GPU → NVIDIA GPU → NVLink → AMD GPUs → MIG → NVIDIA GPUs → Tensor Core