Handbuch für Benutzer der Unix und Linux Computer

Andreas Hirczy

24. März 2016

Weitergehende und laufend aktualisierte Hilfestellung finden sie im Wiki

des Instituts unter https://itp.tugraz.at/wiki/index.php/Computer_Benutzung.

Dieser Text wird nicht mehr mit neuen Inhalten versorgt – alle notwendigen Änderungen und Ergänzungen werden nur im Wiki durchgeführt.

In dieser Anleitung wird versucht, die Informationsbedürfnisse der Benutzer am Institut für Theoretische Physik (ITP) und im Computerraum Physik (CR Physik) abzudecken. Wegen der zunehmenden Komplexität der Softwareinstallation der Unix/Linux-Computer wurde die Erstellung einer Anleitung für Benutzer notwendig. Diese Anleitung ist keine Einführung in Unix oder Linux, sondern erklärt die Besonderheiten dieser Installation. Sie finden Hinweise auf Informationsquellen auf der Webseite https://itp.tugraz.at/comp-man.html.

Sie finden diese Anleitung am Webserver des Instituts für Theoretische Physik / Computational Physics in den Formaten DVI, PostScript und Portable Document Format.

Inhaltsverzeichnis

1 Allgemeines  2
1.1 Manual pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 TeXinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Benutzeraccounts  3
2.1 Ändern von Passworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Homedirectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1 Fernzugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.2 Synchronisation mit Notebooks . . . . . . . . . . . . . . . . . . . . 3

3 Netzwerk  3
3.1 Terminalzugang mit SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 WWW-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Textbearbeitung - LaTeX  5
5 Druck  5
5.1 Vorhandene Drucker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2 Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 Farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.4 Probleme beim Drucken . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.4.1 Druckaufträge verschwinden . . . . . . . . . . . . . . . . . . . . . . 7
5.4.2 Drucker ist blockiert . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.5 Nachfüllen von Papier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.6 Druck von A0-Postern (Winfried Koller, 1999-05-01) . . . . . . . . . . . . 9
5.7 Shredder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6 Software für wissenschaftliche Anwendungen  10
6.1 Numerikprogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.2 Symbolische Mathematik . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3 Statistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.4 Visualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7 Programmierung  11
7.1 Skriptsprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.2 Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.3 Debugger und Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.4 Sourcen und Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.4.1 C und C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.5 Effiziente Datenspeicherung . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.6 Parallel-Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1 Allgemeines

1.1 Manual pages

Zu den meisten Befehlen gibt es Hilfe in Form von Manual Pages; zum Beispiel kann Hilfe zum Kommando man selbst durch man man erhalten werden.

Der Befehl apropos bietet eine Stichwortsuche in den Manual Pages:

ahi@faeppc23: Computer > apropos SMTP
qmail-remote (8)     - send mail via SMTP

qmail-smtpd (8)      - receive mail via SMTP
Net::Cmd (3)         - Network Command class (as used by FTP, SMTP etc)
Net::SMTP (3)        - Simple Mail Transfer Protocol Client

1.2 TeXinfo

In einigen manual pages wird auf weitere Dokumentation im TeXinfo-Format hingewiesen; diese kann mit dem Programm info oder mit emacs (Strg-h i) betrachtet werden.

2 Benutzeraccounts

2.1 Ändern von Passworten

siehe https://itp.tugraz.at/wiki/index.php/Passwort_\protect\unhbox\voidb@x\bgroup\U@D1ex{\setbox\z@\hbox{\char127}\dimen@-.45ex\advance\dimen@\ht\z@}\accent127\fontdimen5\font\U@Da\egroupndern

2.2 Homedirectories

siehe https://itp.tugraz.at/wiki/index.php/Homedirectories

Hier stehen nur die Reste, die bisher nicht in das Wiki eingepflegt wurden.

2.2.1 Fernzugriff

Sie können auf Ihre Daten mittels scp, sftp, rsync(ssh) und unison(ssh) zugreifen. Dazu müssen Sie zumindest eine funktionierende SSH-Verbindung aufbauen können (siehe 3.1).

Alternativ konnen Sie auch zu Hause AFS verwenden.

2.2.2 Synchronisation mit Notebooks

Sie können zur Synchronisation von Directories das Programm unison verwenden. Mit

     notebook-sync ??

als Frontend zu unison können sie bei den am Institut administrierten Notebooks (faepnb01 …) jeweils die Directories ~/notebook/ abgleichen.

3 Netzwerk

3.1 Terminalzugang mit SSH

Als Terminalzugang können Sie SSH verwenden.

Passwortloser Zugriff von extern ist über Kerberos/GSSAPI möglich. Dazu wird ein openssh-client der Version 3.8.1 oder neuer benötigt. RSA-Authentication funktioniert nur beschränkt und wird nicht empfohlen. Die Konfigurationsdatei ssh_config(5) muss die folgenden Einträge beinhalten:

Protocol 2
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes

Wenn sie beim Einloggen Fehlermeldungen wegen mismatched host keys in der Form von

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
ca:9f:9d:9e:cd:0d:6a:70:d5:62:1d:0f:b3:77:dd:a7.
Please contact your system administrator.
Add correct host key in /cygdrive/d/Dateien/XXX/.ssh/known_hosts to get rid of this message.
Offending key in /cygdrive/d/Dateien/XXX/.ssh/known_hosts:1
RSA host key for fubphpc07.tu-graz.ac.at has changed and you have requested strict checking.
Host key verification failed.

erhalten, kopieren Sie bitte die aktuelle Liste der Schlüssel von https://itp.tugraz.at/Comp/conf/ssh known hosts

nach /etc/ssh/ssh_known_hosts und löschen bzw. editieren Sie die Datei /cygdrive/d/Dateien/XXX/.ssh/known_hosts.

Andere Terminalzugänge (telnet, rlogin, rsh) sind nicht aktiviert.

3.2 WWW-Server

Die Adresse des WWW-Servers ist itp.tugraz.at.

Sie können das Gerüst einer persönlichen Webseite mit dem Programm www-seite (unter Linux) erzeugen, dabei wird das Directory ~/public_html erzeugt, die AFS-Zugriffsberechtigungen für die Webserver konfiguriert und eine Datei index.html angelegt, die als Startseite ihres Webauftrittes dient.

Die allgemeinen Seiten sind über das AFS-Dateisystem unter /afs/itp.tugraz.at/common/www/ zugänglich.

3.3 VPN

Für bestimmte Dienste an der TU ist es notwendig, zum Netz der TU zu gehören. Am einfachsten erreicht man dies mit vpnc.

Unter Debian geht man wie folgt vor:

# apt-get install vpnc
# cat >/etc/vpnc/default.conf <<EOF
Debug 0
IKE DH Group dh2
Perfect Forward Secrecy dh2
IPSec gateway 129.27.200.1
IPSec ID default
IPSec secret default
Xauth username TUGonline-Username
EOF

Wobei folgende gateway-Addressen zu verwenden sind:

10.0.0.1 (im VCG)

172.27.12.2 (im WLAN) 129.27.200.1 (extern)

TUGonline-Username ist durch den entsprechenden TUG-Online Benutzernamen zu ersetzen.

Bei einer bestehenden Internetverbindung führt man den folgenden Befehl aus:

# vpnc-connect
Enter password for TUGonline-Username@129.27.200.1:
...

Die routing Tabelle wird automatisch gesetzt (hoffentlich). Zum Beenden der Verbindung genügt der Befehl

# vpnc-disconnect

4 Textbearbeitung - LaTeX

siehe https://itp.tugraz.at/wiki/index.php/LaTeX

5 Druck

5.1 Vorhandene Drucker

Die vorhandenen Drucker können unter verschiedenen Namen angesprochen werden:

Orts- und Gattungsbezeichnung: Dieser Name bezeichnet den Ort und die Funktionalität des Druckers: der Name besteht aus der Raumnummer und einem angehängtem kleinen ”c“ für Farbdrucker – bei den Druckerinseln werden die Raumnummern 2 und 3 für den zweiten bzw. dritten Stock verwendet.

Druckertyp: Mit dem abgekürzten Druckertyp (z.B. hp4100 für HP LaserJet 4100) wird für jeden Drucker ein Name festgelegt, der während der gesamten Einsatzdauer des Druckers erhalten bleibt.

systematische Numerierung: lp0, lp1, lp2, …

Funktionsbezeichnung und Spitzname: sekretariat, ewald, …

historische Namen: Alte Namen der Drucker werden zur Wahrung der Kompatibilität (festgelegte Namen in Programmen und dgl.) weitergeführt.

Alle Drucker am Institut tragen einen Aufkleber mit den verwendbaren Druckernamen - eine aktuelle Liste kann über das Kommando lpq -sa erhalten werden; mit lpq <druckername> können zusätzliche Informationen zu einem bestimmten Drucker abgefragt werden.

Von Unix wird auf die Drucker über das Kommando

     lpr -P[name] [datei]

gedruckt. Um einen Drucker als Standarddrucker einzustellen, definieren Sie in ihrem persönlichen Login-Skript .bashrc oder .cshrc die Umgebungsvariable PRINTER und XPRINTER (für Mozilla) mit dem gewünschten Druckernamen:

       # Einstellung des Standarddruckers
       export  PRINTER=3
       export XPRINTER=3

Die Drucker werden unter denselben Namen auch für MS Windows und Apple MacIntosh exportiert.

5.2 Optionen

Für einige Drucker können dem Druckauftrag einige Optionen übergeben werden. Die Optionen sind kombinierbar und werden hinter ’-Z’ ohne Leerzeichen und durch Kommas getrennt geschrieben. Folgende Optionen werden erkannt:

simplex schaltet den Drucker auf einseitigen Druck um.

duplex, duplexlong, lduplex schaltet den Drucker auf zweiseitigen Druck mit Bindung an der langen Seite des Blattes um. (voreingestellt)

duplexshort, sduplex schaltet den Drucker auf zweiseitigen Druck mit Bindung an der kurzen Seite des Blattes um.

transparency, trans Druck auf Folien; der Drucker hält, wenn keine Folienkassette eingesetzt ist. Während dieser Wartezeit kann der Druckjob am Drucker von jedermann

abgebrochen werden.

Nur vom Tektronix Phaser erkannt werden folgend Optionen:

fast Schneller Druck mit geringerer Farbsättigung und geringerem Verbrauch an Farben

normal (voreingestellt)

enhanced höhere Auflösung und langsamerer Druck

photo höchste Auflösung, sehr langsam. Weil Grautöne hier aus Farben zusammgesetzt werden, sehen sie manchmal Farbverschiebungen in größeren grauen Flächen. Wenig geeignet für Folien, Schemazeichnungen und dergleichen.

paper Ausdruck auf Papier (voreingestellt)

5.3 Farben

Beinahe alle Farbdrucker arbeiten im Gegensatz zu Bildschirmen mit einem subtraktiven Farbmodell – wenn sie vorhersehbare Ergebnisse im Farbdruck benötigen, müssen sie daher die gewünschten Farben auch in diesem druckerspezifischen Farbmodell CMYK^{1} angeben.

In L^{A}TEX können Sie die korrekte Farbe für das Logo der TU Graz mit dem Befehl

     \definecolor{tu_rot}{cmyk}{0,1,0.45,0}

aus dem L^{A}TEX-Paket graphicx erzeugen.

5.4 Probleme beim Drucken

5.4.1 Druckaufträge verschwinden

Manche Druckjobs werden scheinbar problemlos gedruckt, kommen aber nie als bedrucktes Papier aus dem Drucker. Typischerweise tritt das bei Dateien auf, die fehlerhaft oder unvollständig sind, nur leere Seiten erzeugen würden und dann vom PostScript-Interpreter im Drucker wegoptimiert werden. Besonders betroffen davon sind Ausdrucke aus Mathematica (alle Versionen), bei denen im Druckertreiber sinngemäß die Option include fonts in document aktiviert werden muß.

5.4.2 Drucker ist blockiert

Der Drucker steht, die Druckerqueue füllt sich mit Druckaufträgen, die nicht bearbeitet werden.

• Der Drucker ist nicht eingeschaltet oder der Strom ist ausgefallen. In diesem Fall leuchtet kein Lämpchen am Computer. Bitte einschalten.

1CMYK – Cyan, Magenta, Yellow, Kontrast (Schwarz)

• Der Drucker ist offline. Dafür können mehrere Ursachen verantwortlich sein; diese werden meist im Display angezeigt.

Load Letter: Der blockierende Druckjob wurde für das amerikanische Papierformat Letter fomatiert; besonders die Laserdrucker der Marke HP verweigern dann den Druck, wenn keine Papierlade für dieses Format eingesetzt ist. Der Drucker wird durch gleichzeitiges Drücken der Tasten Shift(Umschalten) und Continue(Weiter) angewiesen, trotzdem zu drucken.

Paper Out: Das Papier ist aus; bitte füllen Sie Papier nach; beachten Sie dabei bitte die Anweisungen in Abschnitt 5.5 zum Nachfüllen von Papier.

Paper Jam: Ein oder mehrere Papierblätter haben sich im Drucker verheddert, in der Anzeige des Druckers wird meist auf den Ort der Verklemmung hingewiesen. Bitte gebrauchen Sie keine Gewalt beim Entfernen der Blätter.

Offline: jemand hat den Drucker offline geschaltet. Drücken sie die Taste Offline um den Drucker wieder in den Staus online zu bringen.

Toner Low: Der Toner (Farbe) ist knapp beziehungsweise aus. Bitte verständigen Sie die zuständigen Betreuer. Als Hilfsmaßname könne Sie die Tonerkassette eines Laserdruckers einige Male schwenken, um das Tonerpulver gleichmäßig zu verteilen. Bitte verständigen Sie auch davon unbeding die zuständigen Betreuer.

Wenn diese Tips den Drucker nicht wieder in Gang bringen, verständigen sie bitte die Betreuer.

5.5 Nachfüllen von Papier

Bitte lassen sie keine halbvollen Papierpackungen herumliegen, sondern füllen möglichst den gesamten Inhalt einer Papierpackung in die Druckerlade. Das Papier trocknet sonst aus und die Papierkanten werden abgestoßen; daraus enstehen Papierstaus.

Auf der Verpackung des Papiers ist mit einem Pfeil die schöne Seite markiert; legen sie das Papier so ein, daß diese Seite bedruckt wird (meistens mit der schönen Seite unten in der Papierlade).

Eine kurze Zusammanfaassung zum korrekten Einlegen des Papiers in die Papierladen (das ist kein Scherz):

1. Öffnen sie die Packung vorsichtig, ohne die Blätter zu knicken.

2. Nehmen Sie 1/3 des Papierstapels und fächern sie ihn auf, damit sich die Blätter nicht an den Kanten verhaken oder verkleben.

3. Stoßen sie den Stapel vorsichtig an einer Längskante auf eine ebene Fläche, damit die Blätter genau übereinander liegen.

4. Legen sie den Stapel ohne Gewalt anzuwenden in die Papierlade des Druckers.

5. Zurück zu Punkt 2.

5.6 Druck von A0-Postern (Winfried Koller, 1999-05-01)

Ausgehend vom Poster, das mit Latex erzeugt und mittels

> dvips poster.dvi -o poster.ps -tlandscape -D1200

in das A4 Format als normale PostScript Datei (poster.ps) konvertiert wurde, gibt es die Möglichkeit, ein Poster im A0 Format zu erzeugen. In meinem Beispiel liegt das Poster im Querformat vor (-tlandscape).

Um vom A4 Format aufs A0 Format zu wechseln, existiert auf den Linux Rechnern das Werkzeug psnup mit dem man Operationen am ps file tätigen kann (siehe manual pages). Die Eingabe von

> psnup -w118cm -h84cm -s4 poster.ps posterA0.ps

skaliert das A4 Poster um den Faktor 4 (-s4) und erzeugt eine PostScript Datei namens posterA0.ps, die eine Seite mit der Breite 118 cm und der Höhe 84 cm enthält (A0 Format).

Diese Seite kann man sich mittels gv anschauen, soferne man in diesem Programm das A0 Format anzeigen kann. Das einzustellen ist dadurch möglich, daß man im Menü [State] auf den letzten Menüpunkt [Setup Options] klickt. Im sich nun öffnenden Fenster befinden sich in der rechten Spalte alle bekannten Formate, darunter auch A0. Dieses Format kann man durch Entfernen des Kommentarsymboles # aktivieren. Nach dem Speichern erscheint A0 als mögliches Format im Menü.

Achtung: Vergrößerungen über den Faktor 2 bringen X zum Rotieren!

Stefan Weißgerber druckt das A0 Poster, nachdem man es ihm mittels ftp auf die Maschine ftex gespielt hat:

~ > ftp ftex
Name (ftex:....): copy
Passwd: copy
ftp> bin
ftp> put posterA0.ps
ftp> bye

und ihn telefonisch (6898) verständigt hat. Der Drucker steht in der Abteilung ”Computing” des ZID, Steyrergasse 30 im Erdgeschoß.

5.7 Shredder

Sie können vertrauliche Unterlagen im Papiershredder im Sekretariat vernichten.

6 Software für wissenschaftliche Anwendungen

6.1 Numerikprogramme

Neben dem Standardprogramm Matlab haben wir die Programme Octave und Scilab installiert. Diese Programme sind teilweise zu Matlab kompatibel.

6.2 Symbolische Mathematik

SageMath : is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined power through a common, Python-based language or directly via interfaces or wrappers.

Mathematica : Mathematica hat traditionell Probleme mit dem Generieren von Post-Script Dateien zum Drucken – in den aktuellen Versionen sollte es reichen, die verwendeten Schriften in die PostScript Datei aufzunehmen.

Maple :

Axiom : Axiom is a general purpose Computer Algebra system. It is useful for research and development of mathematical algorithms. It defines a strongly typed, mathematically correct type hierarchy. It has a programming language and a built-in compiler.

Axiom has been in development since 1971. At that time, it was called Scratchpad. Scratchpad was a large, general purpose computer algebra system that was originally developed by IBM under the direction of Richard Jenks. … NAG agreed to release Axiom as free software. The basic motivation was that Axiom represents something different from other programs in a lot of ways. Primarily because of its foundation in mathematics the Axiom system will potentially be useful 30 years from now. In its current state it represents about 30 years and 300 man-years of research work. To strive to keep such a large collection of knowledge alive seems a worthwhile goal.

Maxima : Maxima (xmaxima) is a descendant of DOE Macsyma, which had its origins in the late 1960s at MIT. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. … Maxima itself is reasonably feature complete at this stage, with abilities such as symbolic integration, 3D plotting, and an ODE solver, but there is a lot of work yet to be done in terms of bug fixing, cleanup, and documentation. This is not to say there will be no new features, but there is much work to be done before that stage will be reached, and for now new features are not likely to be our focus.

Maple und Mathematica sind kommerzielle Produkte, wenn sie diese Programme zuhause benutzen möchten, wenden Sie sich bitte an den Hersteller der Programme zum Erwerb einer educational license.

6.3 Statistik

R Project : R is “GNU S” – A language and environment for statistical computing and graphics. R is similar to the award-winning S system, which was developed at Bell Laboratories by John Chambers et al. It provides a wide variety of statistical and graphical techniques (linear and nonlinear modelling, statistical tests, time series analysis, classification, clustering, …).

R is designed as a true computer language with control-flow constructions for iteration and alternation, and it allows users to add additional functionality by defining new functions. For computationally intensive tasks, C, C++ and Fortran code can be linked and called at run time.

6.4 Visualisierung

Gnuplot : Gnuplot ist ein einfach bedienbares, skriptfähiges Programm um (vor allem)

zweidimensionale Daten und Funktionsgraphen zu zeichnen. Interessant ist die Möglichkeit, beliebige Funktionen an Daten zu fitten.

Grace : Grace erinnert in Aussehen an Origin. Es ist nicht skriptfähig, erfordert dafür aber wenig Aufwand zur Einarbeitung. Aufruf mit xmgrace.

VTK – Visualization Toolkit : Das Visualization Toolkit ist eine sehr umfangreiche Bibliothek mit Routinen zur dreidimensionalen Visualisierung von Daten. Es gibt Sprachanbindungen für C++, Tcl/Tk, Java und Python.

IDL - Interactive Data Language : Bitte lassen Sie das Programm nicht tage/nächtelang ohne Grund laufen, es gibt für die gesamte TU nur 10 Lizenzen.

GGobi und XGobi sind Programme zum Visualisieren hochdimensionaler Daten. Vor allem die neuere Variante GGobi hebt sich durch die Anbindung an Datenbanken und andere Programme (gnumeric) hervor.

7 Programmierung

Zur Verwaltung von Sourcecodes und dergleichen betreiben wir einen CVS-Server; zum Umgang CVS können sie das Online-Buch Open Source Development with CVS (deutsche Übersetzung) konsultieren.

7.1 Skriptsprachen

Wir haben Interpreter für alle gängigen Skriptsprachen Perl, Python, Tcl/tk, Guile und Ruby installiert. Um kompilierte Programmteile aus den Skriptsprachen einfacher zu verwenden, können Sie mit dem Programm Swig (simple wrapper interface generator) Interfaces generieren.

7.2 Compiler

Bitte beachten sie, daß die PCs mit den Namen FAEPSV01, FAEPSV02 und FAEPPC32 nur zum Compilieren und für kurze Testläufe verwendet werden sollen; die erzeugten Pro-

gramme werden besser in das Batchsystem Condor (https://itp.tugraz.at/wiki/index.php/Condor)

aufgenommen. GNU Fortran 77: Aufruf auf allen PCs mit g77 oder f77. GNU Fortran 95: Aufruf auf allen PCs mit g95 – ACHTUNG: der Compiler ist noch

nicht offiziell freigegeben und kann mit ihren Programmen Probleme bereiten. NAG Fortran 95: Aufruf auf allen PCs mit f95-nag oder f95. Absoft Fortran 77: Aufruf nur auf FAEPPC32 mit f77-abs. Absoft Fortran 90: Aufruf nur auf FAEPPC32 mit f90-abs. Lahey/Fujitsu Fortran 95: Aufruf mit f95-lah. Die Dokumentation steht unter /afs/itp.tugraz.at/opt/lf95/6.1/manuals/. Intel Fortran 95: Aufruf auf allen PCs mit f95-intel; Dokumentation in /opt/intel/compiler60/docs/. Portland Fortran 77: Aufruf nur auf FAEPSV01 mit f77-pgi Portland Fortran 90: Aufruf nur auf FAEPSV01 mit f90-pgi oder pgf90 Portland High Performace Fortran: Aufruf nur auf FAEPSV01 mit hpf-pgi oder hpf.

Die Dokumentation zu allen Portland Produkten finden Sie lokal unter /opt/PGI_HPF/doc/index.html und im WWW unter http://www.pgroup.com/docs.htm.

7.3 Debugger und Profiler

GNU Debugger: Aufruf auf allen PCs mit gdb oder xxgdb oder GNU Profiler: Aufruf mit gprof. Data Display Debugger: Der Data Display Debugger ist ein sehr komfortabler Debug-

ger – besonders geeignet zur Bearbeitung umfangreicher Datenstrukturen. Aufruf

mit ddd. Absoft Debugger: Aufruf nur auf FAEPPC32 mit fx-abs oder xfx-abs. Lahey/Fujitsu Debugger: Aufruf mit fdb-lah Portland Debugger: Aufruf nur auf FAEPSV01 mit dbg-pgi Portland Profiler: Aufruf nur auf FAEPSV01 mit pgprof

Einige Tips zum Debuggen numerischer Programme finden Sie in der Dokumentation zur GNU Scientific Library.

7.4 Sourcen und Libraries

NAG F77/90: einbinden durch -lnag beim kompieleren; Dokumentation steht unter

/opt/NAG/fllux*/doc, die Fortran 90 Module sind unter /usr/local/lib/fl90 modules/

zugänglich.

Auf allen Unix-Rechner verfügbar sind die Fortran 77 Bibliotheken BLAS und LAPACK.

Auf allen Linux-Rechnern ist zusätzlich die GNU Scientific Library für C installiert.

Wir haben lokal die Sourcen aus einigen bekannteren Numerik-Büchern installiert:

• Numerical Recipies für Fortran 77, Fortran 90 und C: /afs/itp.tugraz.at/opt/local/numeric/numrec/

• Numerical Algorithms for Fortran 77 und C: /afs/itp.tugraz.at/opt/local/numeric/num alg/

7.4.1 C und C++

• Boost: Diverse Hilfsfunktionen für C++

The Boost web site provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library. One goal is to establish ”existing practice“ and provide reference implementations so that the Boost libraries are suitable for eventual standardization. Some of the libraries have already been proposed for inclusion in the C++ Standards Committee’s upcoming C++ Standard Library Technical Report.

• Blitz++

Blitz++ is a C++ class library for scientific computing which provides performance on par with Fortran 77/90. It uses template techniques to achieve high performance. The current versions provide dense arrays and vectors, random number generators, and small vectors and matrices. Blitz++ is distributed freely under an open source license, and contributions to the library are welcomed.

• MTL (Matrix Template Library)

The Matrix Template Library (MTL) is a high-performance generic component library that provides comprehensive linear algebra functionality for a wide variety of matrix formats.

• ALPS

The ALPS project (Algorithms and Libraries for Physics Simulations) is an open source effort aiming at providing high-end simulation codes for strongly correlated quantum mechanical systems as well as C++ libraries for simplifying the development of such code. ALPS strives to increase software reuse in the physics community.

ALPS ist unter /afs/itp.tugraz.at/opt/alps/1.2.1/ gepeichert, der verwendete Compiler war gcc-3.3 für i386.

Zusätzlich können Sie im Internet freie Sourcen für numerische Probleme in C++ und C finden.

7.5 Effiziente Datenspeicherung

Die Speicherung großer Datenmengen ist in den üblichen ASCII-Formaten langwierig und speicherintensiv; die Speicherung in Binärformaten ist stark plattformabhängig. Um diese Probleme der Datenspeicherung zu umgehen, haben wir folgenden Bibliotheken (C/C++ und Fortran 77/90/95) installiert:

• HDF5 mit Teilen der h5utils (Unterstützung für Text, PNG und VTK - nicht für HDF4, Vis5d und Octave). Zur grafischen Analyse von HDF-Dateien können sie das Programm hdfview verwenden.

• netCDF-3 — in Matlab verwenden Sie netcdf von der NetCDF Toolbox.

Diese beiden Bibliotheken werden weltweit für die Speicherung und Manipulation großer Datenmengen verwendet und sollen mittelfristig in einem Produkt (netCDF-4) zusammengefasst werden.

NetCDF kann auf unserem System durch Einbinden von ” include /afs/itp.tugraz.at/opt/netcdf/3.5.1/make-netcdf.mk“

in Makefiles automagisch verwendet werden.

7.6 Parallel-Processing

Zur Programmierung paralleler Anwendungen sind PVM (Parallel Virtual Machine) und MPI (Message Passing Interface) installiert.