आवश्यक आणि ऐच्छिक अवलंबित्व लायब्रऱ्या¶
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 वापरून बिल्ड येथे पहा.