आवश्यक और वैकल्पिक निर्भरता लाइब्रेरी¶
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 बिल्ड के लिए अतिरिक्त उपकरण¶
FrontISTR का GPU क्रियान्वयन OpenACC का उपयोग करता है और वर्तमान में NVIDIA HPC SDK वाले विन्यास पर संचालन सत्यापित किया गया है। GPU बिल्ड के लिए ऊपर दी गई आवश्यक लाइब्रेरी के अतिरिक्त निम्न उपकरण चाहिए।
| उपकरण | उपयोग | प्राप्ति स्रोत |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | OpenACC GPU ऑफ़लोड का संकलन | NVIDIA |
GPU के लिए विस्तृत बिल्ड प्रक्रिया, जिसमें असमर्थित लाइब्रेरी का व्यवहार भी शामिल है, GPU का उपयोग करके बिल्ड में देखें।