د 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 رېپر کمپایلر (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) په کارولو سره د پروفایل ډاټا راټولېدای شي.