-
Korkean suorituskyvyn kirjastot
Suorituskykyiset kirjastot
Erilaisia suorituskykyisiä kirjastoja tiheään lineaarialgebraan, nopeisiin
Fourier-muunnoksiin jne. on saatavilla moduulijärjestelmän kautta. Monet
kirjastot ovat saatavilla sekä yksisäikeisinä että monisäikeisinä
versioina; monisäikeiset moduulit on merkitty omp:lla
moduuliversiossa. Puhtaille MPI-sovelluksille ja sovelluksille, jotka kutsuvat
kirjastoja useista säikeistä, suositellaan yksisäikeisen kirjaston käyttöä.
Kirjastojen saatavuus voi riippua ladatusta kääntäjäkokonaisuudesta ja
MPI-ympäristöstä; käytä komentoa module avail selvittääksesi saatavilla
olevat kirjastot. Katso kirjaston dokumentaatiosta
ohjeet siihen linkittämiseen. Huomaa,
että useimmat moduulit asettavat LIBRARY_PATH- ja LD_LIBRARY_PATH-ympäristömuuttujat,
joten linkkerin -llibrary-valitsin on usein riittävä. Useimmat
moduulit asettavat myös <library>_INSTALL_ROOT-ympäristömuuttujat, joita
voidaan hyödyntää mukautetuissa käännöskomentosarjoissa. Esimerkiksi fftw-kirjastoa
voidaan käyttää seuraavasti:
ja hakemisto, joka sisältää include-, lib- jne. hakemistot, löytyy
FFTW_INSTALL_ROOT-ympäristömuuttujan kautta.
Kirjastot Roihu-CPU:ssa
Valikoituja Roihu-CPU:ssa saatavilla olevia kirjastoja:
- Tiheä lineaarialgebra:
openblas,amdblis - Hajautettu tiheä lineaarialgebra:
netlib-scalapack - Nopeat Fourier-muunnokset:
fftw
Kirjastot Roihu-GPU:ssa
Valikoituja Roihu-GPU:ssa saatavilla olevia kirjastoja:
- Grace-suorittimelle:
- Tiheä lineaarialgebra:
nvhpc(sisältää NVPL:n),openblas,netlib-lapack - Hajautettu tiheä lineaarialgebra:
nvhpc(sisältää NVPL:n),netlib-scalapack - Nopeat Fourier-muunnokset:
nvhpc(sisältää NVPL:n),fftw - Hopper-GPU:lle:
- CUDA (
cuda/nvhpc-moduuli) sisältää kirjastoja kuten cublas, cufft, cusolver, ...
Kirjastot Puhdissa
Valikoituja Puhdissa saatavilla olevia kirjastoja:
- Tiheä lineaarialgebra:
intel-oneapi-mkl - Hajautettu tiheä lineaarialgebra:
intel-oneapi-mkl,netlib-scalapack - Nopeat Fourier-muunnokset:
fftw
Kirjastot Mahdissa
Valikoituja Mahdissa saatavilla olevia kirjastoja:
- Tiheä lineaarialgebra:
openblas,amdblis,amdlibflame - Hajautettu tiheä lineaarialgebra:
netlib-scalapack,amdscalapack - Nopeat Fourier-muunnokset:
fftw