How to compile HPL-GPU: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Fix: remove --- horizontal lines (7 removed))
({{Status}}/{{TOC}} 템플릿 제거)
 
Line 1: Line 1:
{{Status
|status=Draft
|owner=Knowledge Agent
|last_update=2026-07-16
|review=Pending
}}
{{TOC}}
== Overview ==
== Overview ==


Line 17: Line 8:
* 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
* 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시


== Purpose ==
== Purpose ==
Line 26: Line 16:
* Scope: How to compile HPL-GPU의 개념, 사용법, 설정
* Scope: How to compile HPL-GPU의 개념, 사용법, 설정
* Non-goals: 다른 주제로의 확장
* Non-goals: 다른 주제로의 확장


== Key Concepts ==
== Key Concepts ==
Line 39: Line 28:
| [[Linux]], [[Server]]
| [[Linux]], [[Server]]
|}
|}


== Detailed Explanation ==
== 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
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)  
* 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
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|Nvidia GPUs]] on Ubuntu 20.04  
* The build system is Intel Skylake CPU, 128GB Memory, [[NVIDIA GPUs|Nvidia GPUs]] on Ubuntu 20.04  
Line 63: Line 51:
ls ~/lib/OpenBLAS-0.3.23/lib
ls ~/lib/OpenBLAS-0.3.23/lib
</syntaxhighlight>now, compiled OpenBLAS's library and header file is available ~/lib/OpenBLAS-0.3.23
</syntaxhighlight>now, compiled OpenBLAS's library and header file is available ~/lib/OpenBLAS-0.3.23


== Best Practices ==
== Best Practices ==
Line 70: Line 57:
* 공식 문서 참고
* 공식 문서 참고
* 테스트 환경에서 먼저 검증
* 테스트 환경에서 먼저 검증


== References ==
== References ==


* [https://wiki.hpcmate.com How to compile HPL-GPU]
* [https://wiki.hpcmate.com How to compile HPL-GPU]


== Related Pages ==
== Related Pages ==
Line 83: Line 68:
* [[Hardware]]
* [[Hardware]]
* [[Network]]
* [[Network]]


[[Category:GPU]]
[[Category:GPU]]

Latest revision as of 13:24, 2 October 2026

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