Υποχρεωτικές και προαιρετικές εξαρτήσεις¶
Περιγράφονται οι βιβλιοθήκες που απαιτούνται για τη μεταγλώττιση του FrontISTR και οι προαιρετικές βιβλιοθήκες που επεκτείνουν τη λειτουργικότητά του. Για τις διαδικασίες εγκατάστασης κάθε βιβλιοθήκης, ανατρέξτε στην τεκμηρίωση της αντίστοιχης βιβλιοθήκης.
Υποχρεωτικές εξαρτήσεις¶
Τα ακόλουθα εργαλεία και βιβλιοθήκες είναι απαραίτητα για τη μεταγλώττιση του FrontISTR.
| Βιβλιοθήκη | Απαίτηση έκδοσης | Χρήση |
|---|---|---|
| CMake | ≥ 3.13.4 | Σύστημα μεταγλώττισης |
| Μεταγλωττιστής C/C++/Fortran | — | Μεταγλώττιση του πηγαίου κώδικα |
| MPI | — | Βιβλιοθήκη παράλληλης επικοινωνίας (OpenMPI, IntelMPI κ.λπ.) |
Προαιρετικές εξαρτήσεις¶
Οι ακόλουθες βιβλιοθήκες είναι προαιρετικές και μπορούν να ενεργοποιηθούν κατά τη μεταγλώττιση ανάλογα με τις απαιτούμενες λειτουργίες. Για τις αντίστοιχες επιλογές CMake, ανατρέξτε στη Διαδικασία μεταγλώττισης με CMake.
| Βιβλιοθήκη | Επιλογή CMake | Χρήση | Πηγή |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Διαμέριση περιοχής με διαμέριση γράφου | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Παράλληλος άμεσος επιλυτής | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Άμεσος επιλυτής (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Αριθμητική γραμμική άλγεβρα (εκτίμηση αριθμού κατάστασης) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | Προρρύθμιση AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Λεπτομέρυνση πλέγματος | Σελίδα λήψης FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP | Συζευγμένη ανάλυση | Σελίδα λήψης FrontISTR |
| NetCDF | WITH_NETCDF | Έξοδος σε μορφή Exodus II | Unidata |
| Doxygen | WITH_DOC | Δημιουργία τεκμηρίωσης API | Doxygen.nl |
Πρόσθετα εργαλεία που απαιτούνται για μεταγλώττιση GPU¶
Η επιτάχυνση GPU του FrontISTR υλοποιείται με OpenACC και, επί του παρόντος, έχει επιβεβαιωθεί η λειτουργία με διαμόρφωση που χρησιμοποιεί NVIDIA HPC SDK. Για μεταγλώττιση GPU απαιτούνται, εκτός από τις παραπάνω υποχρεωτικές βιβλιοθήκες, τα ακόλουθα εργαλεία.
| Εργαλείο | Χρήση | Πηγή |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Μεταγλώττιση OpenACC GPU offloading | NVIDIA |
Για λεπτομέρειες της διαδικασίας μεταγλώττισης για GPU, συμπεριλαμβανομένου του χειρισμού μη υποστηριζόμενων βιβλιοθηκών, ανατρέξτε στη Μεταγλώττιση με GPU.