You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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

VerzijaModul
13.2.1scientific/mathematica/13.2.1

Službena dokumentacija

Licenca i korištenje

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:

Pregled ukupno dostupnih licenci na Supek-u
resources_available.math_cpu = 224 --> Broj subkernela
resources_available.math_lic = 28  --> 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 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.

test.pbs
#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
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]













  • No labels