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

Translation update pending

The Thai translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

ขั้นตอนการบิลด์ด้วย CMake

หน้านี้อธิบายขั้นตอนตั้งแต่การดาวน์โหลดซอร์สโค้ดของ FrontISTR ไปจนถึงการบิลด์และติดตั้ง สำหรับรายละเอียดของไลบรารีที่ต้องพึ่งพา โปรดดู ไลบรารีที่จำเป็นและไลบรารีเสริม

การดาวน์โหลดซอร์สโค้ด

สามารถดาวน์โหลดซอร์สโค้ดของ FrontISTR ได้จาก GitLab หรือ GitHub

# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git

# GitHub(มิเรอร์)
git clone https://github.com/FrontISTR/FrontISTR.git

ขั้นตอนการบิลด์

FrontISTR ใช้การบิลด์แบบแยกไดเรกทอรีต้นทางและไดเรกทอรีบิลด์ เป็นหลัก (ห้ามบิลด์โดยตรงที่รากของโครงสร้างซอร์ส) ให้สร้างไดเรกทอรี build แล้วรัน cmake ภายในไดเรกทอรีนั้น

cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)

หลังบิลด์แล้วสามารถรันโดยตรงเป็น /path/to/FrontISTR/build/fistr1/fistr1 ได้ หากต้องการติดตั้งลงในพาธของระบบ (CMAKE_INSTALL_PREFIX) ให้รันคำสั่งต่อไปนี้เพิ่มเติม

cmake --build . --target install

รายการตัวเลือก CMake

ตัวเลือกที่ระบุว่า “ON เมื่อตรวจพบ” จะเปิดใช้งานโดยอัตโนมัติหากพบไลบรารีนั้นในระบบขณะรัน cmake และสามารถปิดได้โดยระบุ -DWITH_XXX=OFF อย่างชัดเจน

ตัวเลือก ค่าเริ่มต้น คำอธิบาย
WITH_MPI ON เปิดใช้งานการประมวลผลขนานด้วย MPI
WITH_OPENMP ON เมื่อตรวจพบ เปิดใช้งานการประมวลผลขนานแบบเธรดด้วย OpenMP
WITH_METIS ON เมื่อตรวจพบ เปิดใช้งานการแบ่งโดเมนด้วย METIS
WITH_MUMPS ON เมื่อตรวจพบ เปิดใช้งานโซลเวอร์วิธีตรงแบบขนาน MUMPS
WITH_MKL ON เมื่อตรวจพบ เปิดใช้งาน Intel MKL (รวม PARDISO)
WITH_LAPACK ON เมื่อตรวจพบ เปิดใช้งานการประมาณเลขเงื่อนไขด้วย LAPACK
WITH_ML ON เมื่อตรวจพบ เปิดใช้งานพรีคอนดิชัน AMG ด้วย Trilinos ML
WITH_REFINER ON เมื่อตรวจพบ เปิดใช้งานการทำเมชให้ละเอียดขึ้นด้วย REVOCAP_Refiner
WITH_REVOCAP ON เมื่อตรวจพบ เปิดใช้งานการวิเคราะห์แบบควบคู่ด้วย REVOCAP_Coupler
WITH_TOOLS ON บิลด์ชุดเครื่องมือที่รวมมาด้วย
WITH_DOC OFF สร้างเอกสาร API ด้วย Doxygen
WITH_NETCDF ON เมื่อตรวจพบ เปิดใช้งานการส่งออกรูปแบบ Exodus II (NetCDF)
WINDOWS OFF เปิดใช้งานการบิลด์สำหรับ Windows
CMAKE_BUILD_TYPE RELEASE ชนิดการบิลด์ (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local ไดเรกทอรีปลายทางการติดตั้ง
DEBUG_EXTRA OFF เปิดใช้งานการตรวจสอบ หน่วยความจำรั่ว (สำหรับ GCC, -fsanitize=address)
NVHPC_NO_ACC OFF ปิดใช้ OpenACC เมื่อใช้คอมไพเลอร์ NVIDIA HPC SDK และบิลด์เวอร์ชัน CPU

การบิลด์ DEBUG

เมื่อระบุ CMAKE_BUILD_TYPE=DEBUG จะเพิ่มแฟล็กดีบักต่อไปนี้ตามคอมไพเลอร์

คอมไพเลอร์ แฟล็กเพิ่มเติม
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

การบิลด์โดยใช้ GPU

เมื่อระบุ NVIDIA HPC SDK (nvc/nvc++/nvfortran) เป็นคอมไพเลอร์ CMake จะเพิ่มแฟล็กต่อไปนี้โดยอัตโนมัติ

แฟล็ก คำอธิบาย
-acc เปิดใช้งาน OpenACC
-Minfo=accel แสดงข้อมูลการถ่ายโอนงานไปยัง GPU ขณะคอมไพล์
-gpu=ccnative,mem:managed ตรวจหา GPU ในสภาพแวดล้อมบิลด์โดยอัตโนมัติเพื่อกำหนดเป้าหมาย และใช้ Unified Memory

เมื่อระบุ -DNVHPC_NO_ACC=ON จะไม่มีการเพิ่มแฟล็กเหล่านี้

สำหรับขั้นตอนโดยละเอียดของการบิลด์ GPU ด้วย OpenACC โปรดดู การบิลด์โดยใช้ GPU