Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PostavkaOpis
NumWorkers

Maksimalan broj paralelnih radnika/procesa jednog posla:

  • default=32 (Ukoliko licencija dopušta moguća promjena)
  • Odgovara select parametru PBS-a
NumThreads

Broj dretvi po jednom radniku/procesu:

  • default=1
  • Odgovara ncpus parametru PBS-a
AdditionalProperties (SCHEDULER PLUGIN)


AdditionalSubmitArgs

Dodatna linija kod podnošenja posla:

  • default='-l place=pack' - smještanje svih resursa na jedan čvor
  • Ukoliko je traženi broj resursa veći od dostupnih resursa jednog čvora
    potrebno je ukloniti ovu liniju iz postavki
GPUs

Broj grafičkih procesora:

  • default=0
  • Odgovara ngpus parametru PBS-a
Mem

Količina memorije po jednom chunk-u:

  • default=2gb
  • Odgovara mem parametru PBS-a

...

klaster.Jobs - ispisuje popis svih poslova (lokalno)

delete(klaster.Jobs) - briše sve poslove i datoteke poslova (lokalno)


Podnošenje i upravljanje poslovima

...

Note

Naredba parcluster bez argumenata stvara "cluster" objekt iz zadanog (default) "cluster" profila

Podnošenje poslovia

klaster.Jobs - ispisuje popis svih poslova

Pregled poslova

Podnesi posao na 15 radnika (16 CPU jezgara)

...


Poslovi se podnose sa batch naredbom. Batch naredba pokreće posao iz skripte/datoteke ili funkcije. Opcijom 'Pool' definiramo broj "worker-a" ili radnih procesa. Kada podnesemo posao, batch će automatski dodati još jednog kontrolnog "worker-a" koji izvršava naredbe skripte.

Primjer pokretanja posla tj. izvršavanje naredbi iz skripte 'script_name' koristeći 4 CPU jezgre (worker-a) + 1 CPU (kontrolni) na klasteru "c". Naredbom je stvorena i varijabla "job" tj. poveznica do objekta posla tipa job:

Code Block
job=c.batch('script_name', 'Pool', 4)
Note

Posao će se podnijeti sa argumentima '-l select=5:ncpus=1:ngpus=0:mem=2gb -l place=pack'


Koristeći varijablu job definiranu npr. gornjom naredbom možemo dohvatiti status i rezultate posla:

Code Block
titleIspis stanja posla
job.State
Code Block
titleIspis rezultata posla (ako je posao završen)
job.fetchOutputs{:}
Code Block
titleBrisanje posla
job.delete


Pregledavanje i upravljanje poslovima na klasteru "c" moguće je naredbama:

Code Block
titleIspis svih poslova na klasteru
c.Jobs 
Code Block
titleStvaranje poveznice drugog posla na listi poslova
job2=c.Jobs(2)
Code Block
titleBrisanje svih poslova klastera c (lokalno)
delete(c.Jobs)

Primjer

U primjeru stvaramo cluster objekt iz zadanog profila klastera. Podnosimo posao definiran u skripti spectral_radius.m na 5 CPU jezgre (4 radna i 1 kontrolni proces), provjeravamo status i ispisujemo rezultat ukoliko je posao završio.

Posao mora biti podnesen iz direktorija u kojoj se nalazi spectral_radius.m skripta.

Code Block
titleMATLAB
#Stvaranje objekta "c" tipa cluster
>>c=parcluster
#Podnošenje batch posla iz datoteke spectral_radius.m
>>job = c.batch('spectral_radius', 'Pool',4)
#Provjera statusa posla
>>job.State
#Ispis rezultata posla
>>job.fetchOutputs{:}
Code Block
titlespectral_radius.m
tic
n = 400;
A = 500;
a = zeros(n);
parfor i = 1:n
    a(i) = max(abs(eig(rand(A))));
end
t=toc