Compiler ALELEON Supercomputer
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).