Direkt zu
Suche Rechenzentrum
   
VPN alternativ VPN-e
 
  

Anwendungsbeispiele zur Nutzung des Compute-Servers

Beispiel 1

Mit diesem Beispiel wird das Übersetzen, Binden und Starten eines Fortran 90 Programms aufgezeigt. Die Kommandos werden von der Kommando-Zeile eines Terminalprogramms eingegeben.

Das erste Kommando kopiert das Beispielprogramm int_sin.f90 in das aktuelle Verzeichnis. Danach erfolgt der Aufruf des Fortran Compilers, der aus der Fortran-Quelle (hier: int_sin.f90) das ausführbare Programm int_sin erzeugt. Der letzte Befehl startet das Programm.

$ cp /opt/intel/fc/9.0/doc/samples/int_sin.f90 .
$ ifort -o int_sin int_sin.f90
$ ./int_sin

Beispiel 2

Das unten aufgeführte Beispiel zeigt die Nutzung der Intel Math Kernel Libraries (MKL). Hiermit wird die Performance bei numerisch intensiven Programmen optimiert. Die Einbindung der MKL verdeutlicht das folgende Fortran-Makefile, das dem Rechenzentrum von Herrn Prof. Dr. Jürgen Schnack, FB Physik, Universität Osnabrück, zur Verfügung gestellt wurde.

Hinweise:
  • Zur Nutzung eigener Projekte muss das Fortran-Makefile entsprechend angepaßt werden!
  • Beim Start eines auf MKL basierenden Programms kann die Anzahl der Threads über die Umgebungsvariable OMP_NUM_THREADS festgelegt werden. Dadurch läßt sich die Laufzeit von Programmen optimieren.

FC = ifort

# Flag -fast optimiert mit O3
# Flag -mp haelt floating point operationen genau
# ohne Flags wird immer mit O2 optimiert
# siehe /opt/intel/fc/9.0/doc/doc_index.htm

FFLAGS =  -fast -mp
#FFLAGS =  -fast

# MathKernelLibrary enthaelt optimierte Funktionen
LIBS =  -L /opt/intel/mkl/8.0.1/lib/64/ -lmkl_lapack -lmkl_ipf -lguide -lpthread
LOPT = -static

# max. Geschwindigkeit wird erzielt, wenn WorkSpaces
# (z.B. bei Matrixdiagonalisierung) an die Cache-Groesse
# angepasst werden

OBJS03 = diag.o

OBJS04 = hbody.o ran2.o

OBJS05 = hbodyr.o ran2.o


BINARIES = diag hbody hbodyr

all : diag hbody hbodyr

clean:
    rm $(BINARIES) *.o



diag : $(OBJS03)
    $(FC)   -o diag $(OBJS03)  $(LIBS)

hbody: $(OBJS04)
    $(FC)  -o hbody $(OBJS04)  $(LIBS)

hbodyr: $(OBJS05)
    $(FC)  -o hbodyr $(OBJS05)  $(LIBS)

 

Home     Zum Seitenanfang
Universität Osnabrück, Rechenzentrum, Disclaimer, E-Mail: WWW Admin