User Tools

Site Tools


superkompiuteris:comsol

Kaip naudotis Comsol MIF superkompiuteryje

Pagal T.Railos dokumentaciją.

Nuo 2018-11-23 superkompiuteryje reikia užsikrauti reikiamą Comsol versiją su „module load“ komanda prieš atliekant skaičiavimus su juo.

  • Pasitikrinti galimus modulius naudokite komandą - „module avail“.
  • Norint užsikrauti O.Štikonienei tinkamą modulį - „module load comsol/5.4_s“,
  • T.Railai tinkamą Comsol modulį - „module load comsol/5.4_r

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

  1. Susiinstaliuoti Comsol savo kompiuteryje, instaliuojat reikia nurodyti licencijų serverį „flexcomsol.mif“ ir prievadą (port) „1718“. Licencijų serveris pasiekimamas tik MIF'e prisijungus laidu prie MIF vidinio tinklo ir gavus IP adresą 192.168.*.*.
  2. Turint Linux sistemą galima pasileisti Comsol nuotoliniu būdu iš MIF SK su komanda „ssh -X cluster
  3. Iš Windows kompiuterio:
    • Vidiniame MIF tinkle arba per SSH tunelį prisijungti prie linux1.mif (arba linux2mif)RDP protokolu
    • Prisijungti prie Linux serverio
    • Prisijungti prie Cluster serverio ir pasileisti terminalą ir jame Comsol
ssh -X cluster
module load comsol/5.4_s
comsol

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
#SBATCH -C alpha
module load comsol/5.4_r
comsol -mpibootstrap slurm -mpifabrics tcp:tcp -nn 5 -nnhost 1 -np 12
batch -inputfile modelis.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/comsol.txt · Keista: 2019/02/28 14:42 vartotojo eduardas