Visokozmogljivi računski sestav Fakultete za strojnišvo v Ljubljani namenjen raziskavam, ki zahtevajo vzporedno računanje znanstvenih problemov.

Mellanox® Unified Fabric Manager software

Posnetek aplikacije UFMAplikacija Unified Fabric Manager (UFM) se uporablja za nadzor Infiniband (IB) omrežja. Predvsem pomaga pri kontroli povezav in stanja celotnega sestava. V večjih sestavih se UFM uporablja predvsem za načrtovanje podomrežij z namenom optimiziranja skupin in povezovanju različnih sestavov v enotno omrežje. Na sestavu HPCFS ga uporabljamo predvsem za kontrolo in statistiko prometa.

Message Passing Interface (MPI)

MPI je dominanten način komuniciranja s pošiljanjem sporočil. Sporočila se pošiljajo na nivoju procesov. Model MPI omogoča vzporedno izvajanje s sodelovanjem večih procesov na isti nalogi. Vsak proces ima pri delu svoje podatke. Procesi komunicirajo tako, da si med sabo pošiljajo in sprejemajo sporočila.Večina MPI programov temelji na modelu SPMD (Single-Program-Multiple-Data), kar pomeni, da vsi procesi izvajajo isti program s svojimi podatki. Da se omogoča medsebojno delo imajo procesi vsak svoj ID. Običajno se poganja en proces na eno procesorsko jedro.

Programiranje z deljenim spominom v OpenMP

OpenMP je način paralelnega programiranja v načinu, ko je več proceorjev priklopljeno na skupen spomin. Glavna prednost takega programiranja je enoten naslovni prostor preko celotnega spominskega sistema

  • vsak procesor lahko bere in piše na vse spominske lokacije
  • eden logičen spominski prostor
  • vsi procesorji naslavjlajo spomin z istim naslovom

 

Razhroščevanje, analiza in razčlenitev programov

Brian W. Kernighan je nekoč napisal:
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”

Subversion

Subversion (SVN) je sistem za sledenje spremembam izvorne kode, ki omogoča sočasno delo na skupnem projektu. Pri vsaki shranitvi na SVN strežnik, se shranijo le spremembe datotek, ki so bile dane pod nadzor. S hranjenjem vseh verzij izvorne kode je tako lažje nadzorovati razvoj projekta, slediti spremembam in oceniti njihov vpliv na delovanje celotnega projekta. Ker se hranijo vse verzije določene datoteke, lahko tako delamo le na eni datoteki, ne da bi bilo potrebno shranjevanje stabilnih ali kako drugae pomembnih verzij datoteke. Način dela je tako lahko časovno in prostorsko razporejen.

Fortran - Vaja 2

module trig implicit none real, parameter :: pi = 3.1415992 contains real function degtorad(deg) real, intent(in) :: deg degtorad = deg*pi/180 end function degtorad real function radtodeg(rad) real, intent(in) :: rad radtodeg = rad*180/pi end function radtodeg end module trig program anglecov use trig implicit none real a,b,c, d,e,f ! preberi tri kote read *, a, b, c ! Pretvori kote iz stopinj v radiane d=degtorad(a); e=degtorad(b); f=degtorad(c) ! izpiši kote print *, d, e, f ! pretvori kote iz radianov v stopinje

Primeri v Fortranu 90

Vaja 1 : Pozdrav

Preverimo delovanje programa z najkrajšim programom.

 program hello
  !Izpiše klasični pozdrav na terminal
  implicit none
  write (unit = *, fmt= *) "Hello World!"
end program hello

Program prevedemo in poženemo z ukazom

$ f95 hello.f90 -o hello
$ ./hello
 Hello World

Vaja 2 : Stopinje v Radiane

Poleg vgrajenih trigonometrijskimi funkcijami (sin(), cos(), tan, ...) si želimo še razne pomožne funkcije, kot je pretvorba stopinj.

Napišimo modul imenovan trig, ki vsebuje te funkcije za modularno rabo v drugih programih. Osnutek programa trig.f90 je naslednji

Strani

Subscribe to Visokozmogljivi računski sestav HPCFS RSS