Compiler AMD ALELEON Supercomputer

Dari ALELEON by EFISON

Revisi sejak 30 Maret 2021 06.50 oleh WilsonLisan (bicara | kontrib) (initial writing, hingga Intel MKL)
(beda) ← Revisi sebelumnya | Revisi terkini (beda) | Revisi selanjutnya → (beda)

HPC Aleleon Mk.II mempunyai set library dan compiler yang dioptimasi untuk AMD EPYC. Halaman ini merangkum info teknis penting tentang penggunaan compiler dan software AMD tersebut supaya user dapat sepenuhnya memanfaatkan performa AMD EPYC Rome.

GCC 9 dan 10

HPC Aleleon Mk.II menggunakan GCC 9.3.1 RHEL sebagai GCC sistem. Selain itu tersedia GCC 10.2.0 yang dapat diakses dengan modul:

$ module load GCC/10.2.0

Keduanya mendukung flag optimasi march untuk AMD EPYC Rome dengan:

-march=znver2

AMD Optimizing CPU Libraries (AOCL)

AOCL adalah set library numerik dan matematika untuk komputasi HPC yang dibuat khusus untuk keluarga AMD EPYC. Saat ini HPC Aleleon Mk.II menggunakan AOCL versi 3.0. AOCL yang tersedia di HPC Aleleon Mk.II adalah:

Library Penjelasan
BLIS

(BLAS-like Library Instantiation Software)

Framework portable BLAS (Basic Linear Algebra Subprograms) yang dbuat oleh Flame kemudian dikembangkan spesifik oleh AMD untuk AOCL. Menggunakan BLIS:
$ module load blis

BLIS yang digunakan di HPC Aleleon Mk.II adalah versi multi-threading. Flag untuk melakukan compile dengan BLIS:

-lblis-mt
LibFLAME Portable library untuk komputasi matrix atau LAPACK (Linear Algebra Package). Menggunakan LibFLAME:
$ module load libflame

Flag untuk melakukan compile dengan LibFLAME:

-lflame
AMD LibM

(Core Math Library)

Menyediakan fungsi-fungsi matematika untuk prosesor x86-64 (seperti -lm di GCC). Compatible dengan compiler GCC dan Intel. Menggunakan LibM:
$ module load LibM

Untuk menggunakan AMD LibM, flag compiling wajib dilakukan dengan urutan berikut (tidak boleh terbalik):

-lamdlibm -lm
AMD FFTW FFTW (Fastest Fourier Transform in the West) yang khusus dioptimalisasi untuk AMD. Menggunakan AMD FFTW:
$ module load fftw

Bacaan lebih lanjut untuk info yang lebih detail:

Intel MKL di AMD

User dapat menggunakan Intel MKL (Math Kernel Library) di sistem AMD melalui Intel oneAPI dengan modul:

$ module load oneapi

Ketike menggunakan Intel MKL untuk build framework, user harus menggunakan integer size 4 (32 bit). Sistem AMD di HPC Aleleon Mk.II tidak mendukung integer size 8 (64 bit).

Threading pada AMD Zen2