ข้ามไปที่เนื้อหา

ไลบรารีที่จำเป็นและไลบรารีเสริม

หน้านี้อธิบายไลบรารีที่จำเป็นต่อการบิลด์ 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 พีชคณิตเชิงเส้นเชิงตัวเลข (การประมาณ condition number) 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 offload NVIDIA

สำหรับรายละเอียดขั้นตอนการบิลด์สำหรับ GPU รวมถึงการจัดการไลบรารีที่ไม่รองรับ โปรดดู การบิลด์โดยใช้ GPU

AI-assisted translation May contain errors Official docs Status