ການບິວໂດຍໃຊ້ GPU¶
FrontISTR ສາມາດເຮັດວຽກເທິງ GPU ໂດຍໃຊ້ຟັງຊັນ OpenACC ຂອງ NVIDIA HPC SDK. ໜ້ານີ້ອະທິບາຍຂັ້ນຕອນການບິວທີ່ເປີດໃຊ້ GPU ແລະວິທີປະຕິບັດ.
ສຳລັບໄລບຣາຣີທີ່ເປັນເງື່ອນໄຂກ່ອນ ໃຫ້ເບິ່ງ ໄລບຣາຣີ ພຶ່ງພາ ທີ່ຈຳເປັນ ແລະເລືອກໃຊ້.
ຂັ້ນຕອນການບິວ¶
ໃຊ້ ຄອມໄພເລີ ຂອງ NVIDIA HPC SDK (nvc, nvc++, nvfortran). ໃນສະພາບແວດລ້ອມ ຄລັສເຕີ HPC ຕ້ອງໂຫຼດ NVIDIA HPC SDK ກ່ອນບິວຕາມຄູ່ມືຂອງສະພາບແວດລ້ອມ (ເຊັ່ນ module load nvhpc).
ໄລບຣາຣີເລືອກໃຊ້ເຊັ່ນ METIS, MUMPS ແລະ MKL ບໍ່ຮອງຮັບ GPU, ດັ່ງນັ້ນໃນຕົວຢ່າງຄຳສັ່ງຂ້າງລຸ່ມຈຶ່ງປິດໃຊ້ (ເຊັ່ນ WITH_METIS=OFF).
ດັ່ງທີ່ອະທິບາຍໃນ ຂັ້ນຕອນການບິວດ້ວຍ CMake, ເມື່ອລະບຸ NVIDIA HPC SDK (nvc, nvc++, nvfortran) ເປັນ ຄອມໄພເລີ, CMakeLists.txt ຈະຕັ້ງ -gpu=ccnative,mem:managed. ccnative ແມ່ນຕົວເລືອກທີ່ກວດຫາ GPU ໃນສະພາບແວດລ້ອມບິວອັດຕະໂນມັດ ແລະເລືອກ ເປົ້າໝາຍ ທີ່ເໝາະສົມ, ຈຶ່ງບໍ່ຕ້ອງປ່ຽນແປງດ້ວຍມືສຳລັບແຕ່ລະສະພາບແວດລ້ອມ. mem: ແມ່ນຕົວເລືອກທີ່ລະບຸວິທີຈັດການໜ່ວຍຄວາມຈຳ GPU ແລະຈຳເປັນເພາະ ການປະຕິບັດ GPU ຂອງ FrontISTR ສົມມຸດໃຊ້ ໜ່ວຍຄວາມຈຳແບບລວມ. mem:managed ແມ່ນຄ່າເລີ່ມຕົ້ນສຳລັບສະພາບແວດລ້ອມທົ່ວໄປທີ່ CPU ແລະ GPU ມີໜ່ວຍຄວາມຈຳແຍກກັນ.
ໝາຍເຫດ: ໃນສະຖາປັດຕະຍະກຳເຊັ່ນ Miyabi (GH200) ທີ່ CPU ແລະ GPU ຖືກລວມກັນຜ່ານ NVLink,
mem:managedຈະຖືກແທນດ້ວຍmem:unified; ໃຫ້ປ່ຽນຕາມສະພາບແວດລ້ອມທີ່ໃຊ້ (-gpu=ccnative,mem:unified).
OpenACC + OpenMP (ບໍ່ມີ MPI)¶
mkdir build
cd build
CC=nvc CXX=nvc++ FC=nvfortran cmake \
-DWITH_MPI=OFF -DWITH_OPENMP=ON \
-DWITH_METIS=OFF -DWITH_MUMPS=OFF \
-DWITH_MKL=OFF -DWITH_LAPACK=OFF \
-DWITH_ML=OFF -DWITH_REFINER=OFF -DWITH_REVOCAP=OFF \
..
make -j
OpenACC + OpenMP + MPI¶
ເມື່ອໃຊ້ MPI, MPI ຄອມໄພເລີຕົວຫຸ້ມ (ເຊັ່ນ mpicc) ຕ້ອງຖືກຕັ້ງຄ່າໃຫ້ເອີ້ນ ຄອມໄພເລີ ຂອງ NVIDIA HPC SDK (ເຊັ່ນ nvc) ພາຍໃນ. ໃນຫຼາຍສະພາບແວດລ້ອມ ຄລັສເຕີ HPC, ເມື່ອໂຫຼດ NVIDIA HPC SDK ແລະໄລບຣາຣີ MPI ດ້ວຍຄຳສັ່ງເຊັ່ນ module load, ການຕັ້ງຄ່ານີ້ຈະຖືກຈັດໃຫ້ອັດຕະໂນມັດ. ແຕ່ຮຸ່ນທີ່ແນະນຳ ແລະຂັ້ນຕອນການໂຫຼດແຕກຕ່າງກັນຕາມສະພາບແວດລ້ອມ, ຈຶ່ງໃຫ້ເບິ່ງຄູ່ມືຜູ້ໃຊ້ ຫຼືເອກະສານຂອງແຕ່ລະສະພາບແວດລ້ອມ.
mkdir build
cd build
CC=mpicc CXX=mpic++ FC=mpif90 cmake \
-DWITH_MPI=ON -DWITH_OPENMP=ON \
-DWITH_METIS=OFF -DWITH_MUMPS=OFF \
-DWITH_MKL=OFF -DWITH_LAPACK=OFF \
-DWITH_ML=OFF -DWITH_REFINER=OFF -DWITH_REVOCAP=OFF \
..
make -j
ວິທີປະຕິບັດ¶
ຂັ້ນຕອນປະຕິບັດສຳລັບ GPU ບິວ ໂດຍພື້ນຖານບໍ່ແຕກຕ່າງຈາກ CPU. ສຳລັບຂັ້ນຕອນປະຕິບັດທົ່ວໄປ ໃຫ້ເບິ່ງ ຄູ່ມືການປະຕິບັດ.
ການໂປຣໄຟລ໌¶
ສາມາດເກັບຂໍ້ມູນການໂປຣໄຟລ໌ໂດຍໃຊ້ NVIDIA Nsight Systems (nsys).