User Tools

Site Tools


superkompiuteris:soft:comsol

Kaip naudotis Comsol MIF superkompiuteryje

Parengta pagal doktoranto T.Railos patirtį.

I. Comsol pradinių failų paruošimas gali būti atliekamas pasileidžiant Comsol keliais būdais:

  • Suinstaliuoti Comsol MIF SK savo naudotojo aplinkoje /scratch katalogą, kuris bus pasiekiamas iš visų SK mazgų.
  • Turint Linux sistemą galima pasileisti Comsol nuotoliniu būdu iš MIF SK su komanda „ssh -X cluster.mif.vu.lt
  • Susiinstaliuoti Comsol savo kompiuteryje.

II. Pirmiausia COMSOL modelyje reikėtų numatyti, kaip galėtų būti lygiagretinami skaičiavimai. Mano atveju yra atliekama serija nepriklausomų skaičiavimų pagal tam tikro parametro reikšmę, todėl jie gali būti išskirstomi per pasirinktą kiekį skaičiavimo mazgų. Tam man užteko pažymėti „Distribute parameters“ opciją (prisegu screenshot'ą). Bet kitokio modelio atveju gali būti ir kažkaip kitaip.

III. Prisijungti prie superkompiuterio per SSH, įsikelti modelį, išsaugotą .mph formatu. Daugiau informacijos apie prisijungimą ir darbą su superkompiuteriu: https://mif.vu.lt/cluster/#login

IV. Susikurti SLURM užduoties skriptą, paleidžiantį įkeltą modelį. Skripto pavyzdys:

#!/bin/bash
#SBATCH -p short
#SBATCH -N 5
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=12
comsol -mpibootstrap slurm -mpifabrics tcp:tcp -nn 5 -nnhost 1 -np 12 batch -inputfile modelis.mph -outputfile modelio_sprendimas.mph -batchlog modelis.log

Naudojamų klasterio mazgų skaičius (šiuo atveju 5) turi būti nurodomas ir skripto pradžioje (-N parametras), ir „comsol“ komandoje prie -nn parametro. Kiti parametrai -nnhost ir -np gali likti tokie patys, jie nurodo atitinkamai kiek COMSOL instance'ų paleidžiama viename mazge ir kiek CPU kiekvienas instance'as naudoja.

Skriptą išsaugoti tame pačiame kataloge, kur įkeltas modelio failas, pavadinti pvz. „job.sh“.

V. Sukurti SLURM užduotį:

 sbatch job.sh 

Užduotis turėtų matytis įvykdžius šią komandą:

 squeue 

Pradžioje jos būsena gali būti CF (laukiama, kol startuos visi užsakyti skaičiavimų mazgai), po to turėtų pasikeisti į būseną R (užduotis vykdoma). Modelio kataloge turėtų atsirasti „slurm-<užduoties ID>.out“ failas, jame bus naudojamų mazgų sąrašas. Taip pat modelio vykdymo progresą galima matyti .log faile, kuris skaičiavimų metu bus nuolat pildomas.

Man yra buvę atvejų, kai sukūrus SLURM užduotį, skaičiavimai kažkodėl nestartuodavo (užduotis tiesiog kabėdavo „squeue“ sąraše). Tokiu atveju galima pabandyti atšaukti užduotį ir sukurti iš naujo:

 scancel <užduoties ID>
 sbatch job.sh 

VI. Sėkmingai pasibaigus skaičiavimams, tame pačiame kataloge turėtų atsirasti kitas, didesnis .mph failas. Jį galima parsisiųsti, atsidaryti su COMSOL ir rezultatus eksportuoti norimu formatu. Arba dar galima iš anksto modelyje sukonfigūruoti eksportavimą į .csv failą (Results → Export), tokiu atveju rezultatai turėtų atsirasti modelio kataloge po skaičiavimų.

superkompiuteris/soft/comsol.txt · Keista: 2021/05/25 14:40 vartotojo eduardas