GPU பயன்படுத்தி உருவாக்குதல்¶
FrontISTR, NVIDIA HPC SDK இன் OpenACC செயல்பாட்டைப் பயன்படுத்தி GPU மீது இயங்க முடியும். இந்தப் பக்கம் 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 நினைவகக் கையாளுதலை குறிப்பிடும் விருப்பம். FrontISTR இன் GPU செயலாக்கம் Unified Memory ஐ முன்னிட்டு வடிவமைக்கப்பட்டதால் இதை குறிப்பிடுதல் கட்டாயம். 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 wrapper தொகுப்பி (mpicc போன்றது) உள்மையாக NVIDIA HPC SDK தொகுப்பியை (nvc போன்றது) அழைக்கும் வகையில் அமைக்கப்பட்டிருக்க வேண்டும். HPC கிளஸ்டர் சூழலில் module load போன்ற கட்டளைகளால் NVIDIA HPC SDK மற்றும் MPI நூலகங்களை ஏற்றினால் இப்படியான அமைப்பு தானாக கிடைக்கும் சூழல்கள் பல உள்ளன. ஆனால் பரிந்துரைக்கப்படும் பதிப்பும் ஏற்றும் நடைமுறையும் சூழலுக்கு மாறுவதால், விவரங்களுக்கு அந்தச் சூழலின் பயனர் கையேட்டைப் பார்க்கவும்.
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)-ஐப் பயன்படுத்தி செயல்திறன் சுயவிவரத் தரவைச் சேகரிக்கலாம்.