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.
Verzije
Verzija | Modul | Red | Supek | Padobran | Vrančić |
---|---|---|---|---|---|
13.2.1 | scientific/mathematica/13.2.1 | cpu | |||
13.3.0 | scientific/mathematica/13.3.0 | cpu |
Službena dokumentacija
Licenca i korištenje (Supek)
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.
Broj dostupnih licenci i subkernela na Supek-u je podložan promjenama u budućnosti a korisnici mogu provjeriti trenutno stanje sa naredbom:
qstat -Bf
Ovom naredbom moguć je:
resources_available.math_cpu = 224 --> Broj subkernela resources_available.math_lic = 28 --> Broj licenci
i
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 24, tj. 192 subkernela.
Podnošenje posla
U uzglavlju 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
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.
#PBS -N test_math #PBS -q cpu #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
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). Više o upravljanjem 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