Opis

Mathematica je komercijalni softver za matematičko računanje, simboličko i numeričko računanje, programiranje, vizualizaciju i analizu podataka. Ovaj softver omogućuje korisnicima da rade sa širokim spektrom matematičkih funkcija i formula, te ih primijene u različitim područjima kao što su matematika, fizika, kemija, biologija, financije, inženjerstvo i druge znanstvene discipline.

Srce ima na raspolaganju 28 takozvanih "floating seat" ili "plivajućih" licenci. Ovaj tip licenciranja omogućava pristup Mathematica softvera većem broju korisnika, ali ograničava broj istovremenih korisnika tj. instanci Mathematica-e na 28. Osim 28 plivajućih licenci, računanje je ograničeno na ukupno 224 "Subkernels-a". Subkerneli su pomoćni procesi koji se pokreću kako bi se omogućilo korištenje distribuirano ili paralelno računanje. Broj subkernela koje koji se koriste u jednom poslu odgovara broju zatraženih CPU jezgara.

Verzije

VerzijaModulRedSupekPadobranVrančić
13.2.1scientific/mathematica/13.2.1cpu(tick) (error) (error) 
13.3.0scientific/mathematica/13.3.0cpu(tick) (error) (tick) 
14.0.0scientific/mathematica/14.0.0cpu(tick) (tick)(error) 

Službena dokumentacija

Licenca i korištenje (Supek i Padobran)

Trenutna raspodjela licenci:

ResursLicencaSubkernel
Supek21168
Padobran756


Ineraktivni mod

Korištenje Mathematica softvera na Supeku i Padobranu ograničen je na komandno linijski mod. Za korištenje u interaktivnom modu pogledajte upute u "Korištenje (Vrančić)" poglavlju.

Broj dostupnih licenci i subkernela na Supek-u i Padobranu je podložan promjenama u budućnosti a korisnici mogu provjeriti trenutno stanje sa naredbom:

qstat -Bf


Ovom naredbom moguć je:

Pregled ukupno dostupnih licenci na Supek-u
resources_available.math_cpu = 168 --> Broj subkernela
resources_available.math_lic = 21  --> Broj licenci

i

Pregled licenci trenutno u upotrebi na Supeku
resources_assigned.math_cpu = 32  --> Broj subkernela
resources_assigned.math_lic = 4  --> Broj licenci


Broj slobodnih licenci u trenutku provjere jednak je razlici ukupno dostupnih i licenci trenutno u potrebi. Za gore naveden primjer, broj slobodnih licenci iznosio bi 17, tj. 136 subkernela.

Podnošenje posla

U zaglavlju skripte za podnošenje posla OBAVEZNO je navesti dodatna 2 parametra math_lic i math_cpu.

math_lic - broj licenci koje rezervirate sa pokretanjem posla (Uvijek 1!)

math_cpu - broj subkernela koje rezervirate sa pokretanjem posla. Ovaj broj mora odgovarati broju jezgara zatraženih sa parametrom select=broj jezgara.

OBAVEZNO

#PBS -l math_lic=1

Primjer

Primjer u nastavku sastoji se od PBS skripte za podnošenje posla (test.pbs) i Mathematica skripte (hpc_test.wl) koje se moraju nalaziti u istom direktoriju da bi posao bio uspješno izvršen. Resursi i rezervacija licence (test.pbs) zatražena je po uputama iz poglavlja "Podnošenje posla".

Naredbe iz skripte hpc_test.wl izvršiti će mathematica. Sa prve dvije linije pokreće se broj subkernela koji odgovara broju zatraženih jezgara sa parametrom select (u ovom slučaju 8). Nastavak skripte izvršiti će 2 iste naredbe sa jednom bitnom razlikom. Naredbom ParallelTable računanje će se izvršiti na 8 jezgara dok će se u slučaju naredbe Table računanje izvršiti na 1 jezgri.

Zahtjev broja jezgara izveden je samo sa select parametrom. Takvom definicijom posla, PBS_NODEFILE varijabla sadrži popis svih dodijeljenih jezgara (na jednom ili više čvorova) te će se u uvijek pokrenuti odgovarajući broj subkernela.

test.pbs
#PBS -N test_math
#PBS -l select=8
#PBS -j oe
#PBS -l math_lic=1
#PBS -l math_cpu=8

cd ${PBS_O_WORKDIR}
module load scientific/mathematica/13.2.1
 
math -script hpc_test.wl
hpc_test.wl
h = ReadList[Environment["PBS_NODEFILE"], "String"];
Map[LaunchKernels[KernelConfiguration[#,"KernelCommand" -> "/apps/scientific/mathematica/13.2.1/Executables/wolfram"]]&, h]

t=AbsoluteTiming[Table[Length@FactorInteger[10^50+i], {i,20}]]
Print["Vrijeme racunanja na jednoj jezgri=", t]
t=AbsoluteTiming[ParallelTable[Length@FactorInteger[10^50+i], {i,20}]]
Print["Vrijeme racunanja na osam jezgra=", t]

CloseKernels[]


Korištenje (Vrančić)

Mathematica je dostupna u interaktivnom modu putem Mathematica GUI-a na Vrančiću.

Pokretanje Mathematica virtualnog poslužitelja

Prvi korak je pokretanje virtualnog poslužitelja iz unaprijed pripremljene slike naziva mathematica-rocky-9 (Compute → Instances → Launch Instance → Source → mathematica-rocky-9). Kako je ukupan broj subkernela  ograničen licencom, korisnicima se preporuča da za manje zahtjevne proračune koriste m1.medium (Launch Instance → Flavor) veličinu virtualnog poslužitelja jer će broj subkernela odgovarati broju CPU-a poslužitelja.

Više o upravljanju virtualnim poslužiteljima pročitajte na poveznici.

Sigurnosna grupa

Nakon stvaranja virtualnog poslužitelja potrebno je napraviti i dodati sigurnosnu grupu kako bi virtualni poslužitelj mogao pristupiti poslužitelju mathematica licenci.

Stvaranje sigurnosne grupe

Upravljanje sigurnosnim grupama moguće je odabirom opcije "Security Groups" u "Network" padajućem izborniku.

Pritiskom na dugme "Create Security Group" otvoriti će se novi prozor u kojem je potrebno upisati proizvoljan naziv sigurnosne grupe (npr. mathematica).

Postavke sigurnosne grupe

Nakon što je sigurnosna grupa napravljena potrebno ju je konfigurirati pritiskom na dugme "Manage Rules" te zatim "Add Rule".

Polja za pravilo sigurnosne grupe ispunjavaju se sa idućim vrijednostima:

  • Rule - Custom TCP Rule
  • Description - proizvoljan opis
  • Direction - Ingress
  • Open Port - Port
  • Port - 16286
  • Remote - CIDR
  • CIDR - 161.53.0.232

Dodjeljivanje sigurnosne grupe

Ispravno konfiguriranu sigurnosnu grupu moguće je dodijeliti ranije stvorenom mathematica poslužitelju na popisu instanci (Compute → Istances). Iz padajućeg izbornika u stupcu "Actions" potrebno je odabrati opciju "Edit Security Groups". Sigurnosna grupa dodaje se iz popisa svih sigurnosnih grupa (lijeva strana prozora) na popis sigurnosnih grupa istance (desna strana prozora) pritiskom na dugme "+" i zatim "Save".


Spajanje na Mathematica virtualni poslužitelj

Na virtualni poslužitelj moguće se spojiti koristeći "rocky" korisničko ime i IP adresu virtualnog poslužitelja. Više o spajanju na virtualne poslužitelje pročitajte na poveznici.

Kako bi se Mathematica uspješno pokrenula, potrebno je spojiti se na virtualni poslužitelj uz prosljeđivanje X11.

U slučaju korištenja Linuxa ili macOS-a, koristite naredbu:

ssh -X -i ~/.ssh/id_rsa rocky@<IP_adresa>


U slučaju korištenja Windowsa, potrebno je preuzeti aplikaciju Xming te je pokrenuti prije pokretanja PuTTY-ja.

Unutar PuTTY-ja, potrebno je uključiti X11 forwarding (Connection → SSH → X11, Enable X11 forwarding).

Pokretanje Mathematica-e

Mathematica na virtualnom poslužitelju pokreće se naredbom "Mathematica" u terminalu.

  • No labels