Benutzermitteilung des RHRK Ausgabe April 2000 Zugriff auf Dateien und Drucker per SAMBA auf dem AIX-Cluster Besitzer neuer Accounts auf dem AIX-Cluster können sich ab sofort ihr SAMBA- Passwort selbst setzen. Unter https://www.rhrk.uni-kl.de/bin/sambapasswd.cgi ist ein entsprechendes Formular mit einem SSL-fähigen Browser (z.b. Netscape ab Version 3) abrufbar. Achtung: "https:" (nicht "http:"). Der SAMBA-Server des AIX-Clusters ermöglicht es den Benutzern, auch mit wechselnder IP- Adresse (z.b. per Modem von zu Hause aus) auf Dateien in ihrem Homeverzeichnis und auf Drucker des AIX-Clusters zuzugreifen. Informationen zur Benutzung von SAMBA mit Windows oder Linux sind unter http://www.rhrk.uni-kl.de/samba.html zu finden. (Klaus Knopper, Mail: knopper@rhrk.uni-kl.de) ABAQUS Software Im Rahmen eines akademischen Lizenzvertrages sind zwei Komponenten des Finite- Elemente- Programms ABAQUS auf den Rechnern des AIX-Clusters installiert: ABAQUS/Standard und ABAQUS/Post. Es handelt sich hierbei um die Version 5.8. Für beide Teilprogramme gibt es eine Netzwerklizenz für jeweils sechs Anwender. ABAQUS wird besonders empfohlen zur Berechnung von geometrisch und physikalisch nichtlinearen Problemen. Es bietet umfangreiche Elementbibliotheken, Materialdefinitionen, Modellierungsoptionen und Analyseverfahren. Die Anzahl der Freiheitsgrade ist programmseitig nicht beschränkt. Vom Benutzer beigesteuerte Unterprogramme können eingebunden werden. Die ABAQUS-Funktionen werden durch die Ausführungsprozedur 'abaqus' mit verschiedenen Parametern gesteuert. Der Aufruf abaqus help listet diese auf. Es gibt eine umfangreiche Dokumentation zu ABAQUS in Form von gedruckten Manualen und als Online Information. Eine vollständige Ausgabe der Manuale ist in der Programmbibliothek des RHRK, Bau 34/217, aufgestellt. Die Online Dokumentation erreicht man mit dem Aufruf abaqus doc. Leider ist das für den Einstieg besonders nützliche Dokument 'Getting Started with ABAQUS/Standard' nicht darin enthalten.
(Helmut Koll, Raum 34/220, Tel.: 2441, Mail: koll@rhrk.uni-kl.de) CFD-Paket FLUENT Seit letztem Jahr ist auf den Hochleistungsrechnern ORIGIN und O2000 das CFD- Paket FLUENT installiert. Die Abkürzung CFD steht für Computational Fluid Dynamics. Es handelt sich bei FLUENT um ein Finite Volumen Programm zur Simulation von Strömungs- und Wärmeübertragungsproblemen. Mit der aktuellen Version FLUENT 5.3 können neben klassischen Problemstellungen auch Strahlung, Mehrphasenströmungen, chemische Reaktionen, Verbrennungsprozesse und poröse Medien simuliert werden. Neben FLUENT 5.3 umfasst das Programmpaket noch einen komfortablen Netzgenerator (GAMBIT 1.2). Mit diesem können Geometrien und Rechengitter erstellt oder aus CAD- Programmen importiert werden. Der Netzgenerator kann auch für das schon seit einigen Jahren am RHRK installierte CFD-Programm FIDAP eingesetzt werden. Nähere Informationen zu FLUENT erhält man auf der Homepage des RHRK unter http://sgi400.rhrk.uni-kl.de/home/super/fluent_am_rhrk.html oder direkt bei Fluent Inc.: http://www.fluent.com/software/software.htm Zur schnellen Einarbeitung wird empfohlen, an den folgenden CFD-Kursen des RHRK teilzunehmen: Strömungssimulation mit FIDAP/FLUENT Mittwoch, den 24.05.00, 10.00-12.00 Seminarraum GAMBIT: Präprozessor für FIDAP/FLUENT Mittwoch, den 24.05.00, 14.00-17.00 Seminarraum FLUENT: Anwendung am Beispiel Donnerstag, den 25.05.00, 14.00-16.00 Seminarraum. Die Ansprechpartner am RHRK sind: Dr. T. Pool, Raum: 34/316, Tel.: 205-2631, Email: pool@rhrk.uni-kl.de und T. Stengel, Raum 34/315.1, Tel.: 205-3074, Email: tstengel@rhrk.uni-kl.de Sprechzeiten: montags und mittwochs, 13:00-17:00 Uhr) Rechner-Lizenz für die Numerical Recipes Wer einmal ein Buch mit Numerical Recipes, sei es für Fortran 77, Fortran 90 oder C, in die Hand genommen und sich die Mühe gegeben hat, die Seiten mit den "Legal Matters" zu lesen, weiß, dass die Anwendung der Routinen an bestimmte Bedingungen geknüpft ist. Neuerdings wurde eine Ankündigung mit folgendem Inhalt verschickt:
Bill Press, co-author of the "Numerical Recipes" series, has asked me to forward this information: Cambridge University Press has now given permission for the page images from "Numerical Recipes in Fortran 90" to be made available on the Web, along with the other Numerical Recipes books (C and Fortran 77) that were already available. This means that anyone in the world can access the book for free (though it is hoped that they will want to buy the hardcopy, and there is still the obligation to purchase the software for more than very casual use). The book pages can be found by starting at http://www.nr.com and clicking on Books-On-Line. Mike Metcalf Eine nachträgliche Nachricht machte klar, dass hiermit die Bedingungen in den "Legal Matters" alles andere als aufgehoben sind. Oft wird gegen diese Bestimmungen verstoßen, so dass man sich strafbar macht. Das RHRK hat einen Lizenzvertrag abgeschlossen, der eine einwandfreie Benutzung der Numerical Recipes möglich macht. Es gelten folgende Regelungen: Die Routinen und Funktionen der Numerical Recipes Bücher stehen ab sofort auf der ORIGIN zur Verfügung, und zwar unter folgenden Namen: librecipes_c.a C-Version unter cc -64 -mips4 librecipes_c_n32.a C-Version unter cc -n32 -mips4 librecipes_c_gcc.a C-Version unter gcc librecipes_f.a Fortran 77-Version mit f77-64 -mips4 librecipes_f_sp.a Fortran 77-Version in 'single precision' mit f77-64 -mips4 librecipes_f90.a Fortran 90-Version mit f90-64 -mips4 librecipes_f90_sp.a Fortran 90-Version in 'single precision' mit f90-64 -mips4 Beim Compilieren oder Binden ist die Option -L/usr/local/lib anzugeben. Die Buch-Versionen sind für C der Option -n32 und für Fortran der 'single precision' entsprechend und sind mehrfach getestet. Bei Benutzung der anderen Bibliotheken muss man etwas mehr Sorgfalt walten lassen. Als Handbuch oder Benutzeranleitung gelten die Numerical Recipes-Bücher. Hinweis: Bis jetzt war es nicht gestattet, solche Routinen und Funktionen auf unseren SGI- Rechnern zu verwenden, es sei denn, man hatte das Buch gekauft und die
Routinen und Funktionen abgetippt. Es war nicht gestattet, solche Programme weiterzugeben. Unter den Bedingungen der erworbenen Rechner-Lizenz gilt: 1) Jeder Anwender darf jede Routine oder Funktion in seinen Programmen einbinden, auch, wenn er kein Numerical Recipes-Buch besitzt. Ein derart erstelltes ausführbares Programm darf auch auf SC900 oder O2000 zum Ablauf gebracht werden, wenn es vorher auf der ORIGIN mit Erfolg getestet worden ist (wichtig für Batch-Jobs). Oben genannte Bibliotheken oder Teile davon (sprich.o-dateien) dürfen NICHT auf anderen Rechnern als der ORIGIN abgelegt werden. 2) Auch die Quellen stehen zur Verfügung und können vom Anwender an seinen speziellen Bedürfnissen angepasst werden, aber nur für die ORIGIN! Hier ist es unerlässlich, dass die Lizenzbedingungen eingehalten werden. Vor Freigabe der Quellen muss eine Lizenzvereinbarung unterschrieben werden. 3) Unter speziellen Bedingungen ist auch kommerzielle Verwendung gestattet. Ansprechpartner am RHRK: Dr. T. Pool, Raum: 34/316, Tel. 205-2631, Email: pool@rhrk.uni-kl.de Parallelisieren von Programmen Für das Parallelisieren von Programmen gibt es zwei Hauptgründe: schnellere Ergebnisse für ein einzelnes Programm, Abarbeitung von Programmen, die den Speicherplatz eines Rechners überschreiten. Der zweite Punkt ist bei den unter IRIX laufenden Rechnern nicht relevant, da sie einen durchgängig adressierbaren Arbeitsspeicher haben. Es kann jedoch sinnvoll sein, diese Rechner für die Entwicklung von Programmen auf anderen Rechnerstrukturen zu verwenden. Auf unseren Hochleistungsrechnern der ORIGIN 2000 Familie ist das Parallelisieren trotz verteilten Speichers wegen des über alle Prozessoren sich erstreckenden Adressraumes einfach. Das Compile-System bietet eine Auto-Parallelisierungs- Option an, mit der ein parallelisiertes Programm automatisch erstellt werden kann. Programmteile werden auf Parallelisierbarkeit untersucht. Auf diese Analyse kann der Benutzer mittels Direktiven Einfluss nehmen, indem er Informationen beisteuert. Falls für eine Optimierung notwendig können die Programmdaten gezielt auf bestimmte Prozessoren abgelegt werden. Dazu werden Direktiven aus der OpenMP Initiative verwendet, die als Pseudostandard auf vielen Plattformen implementiert worden sind. Falls ein Programm parallel auf eher lose gekoppelten Prozessoren ablaufen soll, muss man sich eines Dienstprogramms bedienen, das die verteilte Verarbeitung ermöglicht. Als Standard hat sich hier das MPI, Message-Passing Interface, etabliert, das auf verschiedensten Plattformen implementiert worden ist, sowohl für Hoch- und
Hoechstleistungsrechner als auch PC-Cluster. Es steht auch auf unseren Hochleistungsrechnern der ORIGIN 2000 Familie zur Verfügung. Dazu muss das Anwendungsprogramm modifiziert werden, in dem die Programmdaten mittels Subroutinenaufrufe zwischen den verschiedenen Prozessoren transferiert werden. Im Gegensatz zum automatischen Parallelisieren wird das Programm nicht mehr sequentiell ablaufbar sein. Neben der seriellen Variante muss man eine MPI-Version pflegen. Es bietet sich aber an, auf den Rechnern der ORIGIN 2000 Familie eine MPI-Version zu entwickeln, die dann in einer anderen Umgebung genauso gut ablauffähig ist. Als Unterstützung bietet das RHRK das Tool VAMPIR zur Ablaufanalyse an. Für die Fehlersuche - das Debugging von parallelisierten Programmen ist bekanntlich schwierig - ist das weltweit eingesetzte Tool TOTALVIEW installiert worden. In den nächsten Absätzen sind Einzelheiten zu diesen Tools zusammengefasst worden. Entwicklungstool VAMPIR für MPI-Anwender Das Tool VAMPIR zur Performance-Analyse von MPI-Programmen steht auf der O2000 zur Verfügung, und zwar für max. 8 Prozessoren. Mittels Messungen während des Ablaufes werden Daten gesammelt, die nach dem Ablauf mit Hilfe von graphischer Aufarbeitung dargestellt werden können. Auf der Zeitachse werden Status-Änderungen und Kommunikationsvorgänge abgebildet. Zusätzlich gibt es statistisch aufbereitete Daten über Zeitverbrauch, Datenmengen und Transferraten. Von der globalen Darstellung kann man durch Zoomen immer weiter ins Detail vorstoßen. Die jeweilige Darstellung kann direkt mit dem Quellcode in Beziehung gebracht werden, so dass die Ursachen auftretender Flaschenhälse aufgespürt und beseitigt werden können. Die Darstellungs-, Zooming- und Filterfunktionen von VAMPIR sind sehr benutzerfreundlich implementiert. Jeder Anwender muss folgendes in seiner.profile-datei aufnehmen: export PAL_ROOT=/usr/local/VAMPIR export PATH=$PATH:$PAL_ROOT/bin export MANPATH=$MANPATH:$PAL_ROOT/man In seinem HOME-Verzeichnis muss ein Verzeichnis mit dem Namen.VAMPIR_defaults eingerichtet werden. Wenn beispielsweise das Kommando zum Erstellen eines parallel ausführbaren Executables f90-64 -mips4 -O2 matmult.f90 -lmpi ist, muss die Option -lmpi ersetzt werden durch: -L/usr/local/VAMPIRtrace/lib/lib64 -lvt \ -L/usr/lib64 -ldwarf -lelf -lexc -lmpi oder bei -n32 -mips4 durch: -L/usr/local/VAMPIRtrace/lib/lib32 -lvt \ -L/usr/lib32 -ldwarf -lelf -lexc -lmpi
Die Folge der Optionen muss so eingehalten werden! Beim Ablauf des Programms wird eine.bpv-datei erstellt, die mittels des Kommandos vampir die Einzelheiten des Ablaufes preisgibt. Informationen über 'man vampir' und mittels Postscript-Dateien: /usr/local/vampir/doc/vampir-instguide.ps.gz /usr/local/vampir/doc/vampir-userguide.ps.gz /usr/local/vampirtrace/doc/vt20-userguide.ps.gz Ein Tutorial und Beispieldateien findet man in: /usr/local/vampir.tutorial Zur Erinnerung: diese Ausführungen gelten nur für die O2000 und nur bei Anwendung von weniger als 9 Prozessoren. Entwicklungstool TotalView für Programmierer Das Tool TotalView ist ein Multiprozess Debugger, der eingesetzt werden kann für Anwendungen, die in Fortran (70 und 90), HPF, C, C++ und Assembler geschrieben sind. Es hat eine grafische Benutzer-Schnittstelle. Es kann auch bei sehr großen Anwendungen eingesetzt werden. Wichtig: Es unterstützt die gängigen Parallelisierungsmodelle MPI, PVM und OpenMP Jeder Anwender muss folgendes in seiner.profile-datei aufnehmen: export PATH=$PATH:/usr/local/totalview/bin export MANPATH=$MANPATH:/usr/local/totalview/man Wie üblich beim Debuggen mittels cvd muss auch hier beim Compilieren die Option - g gesetzt werden, und keine -O Option. Mit solchen Executables sollte man nie Produktion machen: sie sind zu langsam! TotalView wird aufgerufen mit: totalview a.out Bei MPI-Programmen startet man das Programm durch Angabe von z. B. totalview mpirun -a -np 4 a.out Anschließend mit der mittleren Maustaste Go Process anwählen. Es erscheint ein Fenster mit folgendem Inhalt: Process mpirun has spawned new MPI processes. Die Frage mit "Yes" beantworten, um anschließend Haltepunkte im eigenen Executable setzen zu können. Informationen über 'man totalview' und mittels Postscript-Dateien: /usr/local/totalview/docs/user_guide.ps Hinweis: totalview ist nur auf der ORIGIN installiert worden.
Ansprechpartner für diesen Themenkomplex: Dr. Tonnis Pool, Tel. 205-2631, Email: pool@rhrk.uni-kl.de Hinweis: Während des Sommersemesters finden Kurse zu diesen Themen statt. Bitte informieren Sie sich unter: www.uni-kl.de/rhrk/dienste/seminare.html Aufruf von F90-Routinen innerhalb von Matlab Innerhalb von Matlab hat man die Möglichkeit, vorübersetzte Routinen aufzurufen, die in C, C++ oder Fortran77 geschrieben sind. Dies ist vorteilhaft für solche (Teil- )Algorithmen, die sich in Matlab nur ungenügend effektiv implementieren lassen. Um die Algorithmen auch in Fortran 90 zu formulieren und die Vorteile dieser Sprache auszunutzen, ist im RHRK ein F90-Module in Arbeit, der es ermöglicht, auch F90-Routinen von Matlab aus aufzurufen. Eine erste Version dieses Moduls steht zur Verfügung. Anwender, die auf langlaufenden Matlab-Programmen warten müssen, wird empfohlen, sich im RHRK beraten zu lassen und rechenintensive Programmteile in einer übersetzenden Sprache zu implementieren. Ansprechpartner: Eike Elbrächter, Tel: 205-2439, Email: elbr@rhrk.uni-kl.de