Die Kennzeichnung bestimmter Dokumenationen als druckbar weist lediglich darauf hin, dass sie (im Gegensatz zu diversen Original-IBM-Links) gedruckt werden könnten, wenn man es dürfte. Eine Druckerlaubnis muss man sich gegebenenfalls erst irgendwie besorgen. Bei den Redbooks geht das z.B. online.
xlfcmp 7.1.1.2 C F XL Fortran Compiler xlfcmp.html.en_US 7.1.1.0 C F XL Fortran Compiler xlfcmp.idebug.html.en_US 7.1.1.0 C F Distributed Debugger xlfcmp.msg.en_US 7.1.1.0 C F XL Fortran Compiler Messages - xlfcmp.pdf.en_US 7.1.1.0 C F XL Fortran Compiler xlfcmp.ps.en_US 7.1.1.0 C F XL Fortran Compiler xlfrte 7.1.1.2 C F XL Fortran Runtime xlfrte.aix43 7.1.1.2 C F XL Fortran Runtime Environment xlfrte.aix51 7.1.1.2 C F XL Fortran Runtime Environment xlfrte.msg.en_US 7.1.1.0 C F XL Fortran Runtime Messages -
Die Nutzung dieses Compilers kann derzeit durch das individuelle Setzen nachfolgender Umgebungsvariablen erreicht werden (gemaess Aussage der Benchmarkgruppe IBM Heidelberg):
export NLSPATH=/usr/local/xlf81/usr/lpp/xlf/bin/default_msg/%N:$NLSPATH export LIBPATH=/usr/local/xlf81/usr/lib:/usr/lib und Aufruf /usr/local/xlf81/xlf -O3 -qarch=pwr4..... oder /usr/local/xlf81/xlf/mpxlf90_r -O3 -qarch=pwr4.....
Eigenschaften im Überblick:
IBM XL Fortran for AIX (XLF) V8.1 provides support for the full OpenMP
Fortran Application Program Interface (API) V2.0 and provides partial
support for the Fortran 2000 standard.
XLF V8.1:
o Provides support for the full OpenMP Fortran API V2.0
o Supports features of Fortran 2000
- Allocatable components
- IEEE Floating Point Exception Handling
- Pointer with INTENT attribute
o Exploits the new IBM POWER4 multiprocessor
o Provides the full functionality of XL Fortran for AIX V7.1.1
o Supports the full implementation of the Fortran 95 standard
o Provides enhanced porting features --- Enhanced source-code and
command line options compatibility with non-IBM compilers
o Exploits the RS/6000 symmetric multi-processing (SMP) architecture
o Exploits IBM POWER, POWER2, POWER3, and PowerPC architectures
Eigenschaften im Detail
Folgende Werkzeuge wird es nicht mehr geben:
Wer ein spezielles Dokument sucht oder wer ein Dokument sucht, das man auch ausdrucken kann, der versuche mal im IBM Publications Center nachzusehen, dort "Search for Publications" anzuklicken und dann z.B. das Stichwort "messages" einzugeben.
Compilieren mit -qessl.
Binden der seriellen Version mit -lessl ,
bei 64bit Anwendungen mit -q64 -lessl .
Binden der
SMP-Version mit -lesslsmp , bei 64bit Anwendungen mit
-q64
-lesslsmp
Dokumentation (s.o.)
PESSL stellt mit MPI parallelisierte mathematische Routinen bereit. Programme, die PESSL nutzen, müssen deshalb mit mpxlf, mpxlf_r, mpcc oder mpcc_r übersetzt und gebunden werden.
Compilieren mit -qessl.
Binden der seriellen Version (1 Thread pro MPI-Task) mit
-lessl
-lpessl -lblacs (nur 32bit Anwendungen).
Binden der SMP-Version
mit -lesslsmp -lpesslsmp -lblacssmp
, bei 64bit Anwendungen
zusätzlich mit -q64.
Dokumentation (s.o.)
Enthält schnelle Versionen von intrinsischen Funktionen für 32bit und 64bit Anwendungen. Binden mit -lmass. Zusätzlich gibt es noch schnellere Vektor-Routinen, in denen mit einem Aufruf mehrere Funktionswerte berechnet werden. Binden mit -lmass -lmassvp4 .
Level 1, 2 und 3 BLAS ist vollständig in ESSL enthalten
Enthält Fortran-Routinen zur Gleichungslösung und zur Lösung von Eigenwert- und Singulärwert-Problemen. Binden mit -llapack (für 32bit-Anwendungen) oder -q64 -llapack64 (für 64bit-Anwendungen).
Einige LAPCK-Routinen sind in optimierter Form in ESSL enthalten. Diese werden benutzt, wenn mit -lessl gebunden wird.
| Kommando/Skript (plus Voreinst.) | Bedeutung |
| xlf | XL Fortran 2, spaltengerechte Quelltextform, Dateiendung .f |
| f77 | FORTRAN 77, spaltengerechte Quelltextform, Dateiendung .f |
| xlf90 | Fortran 90, freie Quelltextform, Dateiendung .f |
| f90 | Fortran 90,
freie Quelltextform, Dateiendung .f90 Aber: Es ist zuvor ein Link erforderlich, z.B.: ln -s /usr/bin/xlf90 f90 |
| xlf95 | Fortran 95, freie Quelltextform, Dateiendung .f |
| f95 | Fortran 95,
freie Quelltextform, Dateiendung .f95 Aber: Es ist zuvor ein Link erforderlich, z.B.: ln -s /usr/bin/xlf90 f95 |
| xlf_r, xlf90_r, xlf95_r | wie ohne "_r" jedoch für SMP-Programme (autoparallelisiert oder OpenMP-parallelisiert), Verwendung thread-sicherer Libraries |
| mpxlf, mpxlf90, mpxlf95 | wie ohne "mp" jedoch für reine MPI-Programme |
| mpxlf_r, mpxlf90_r, mpxlf95_r | wie ohne "mp" und "_r" jedoch für hybride SMP/MPI-Programme |
Wenn man diese Optionen weglässt, wird kein optimaler Power4-Code erzeugt, sondern der Code läuft auf allen 5 Prozessortypen.
Dokumentation: man poe
Probleme:
If xxlf windows are too tall and the OK/Cancel buttons are off
the screen,
use the following .Xdefaults entry to make the fonts smaller:
xxlf*fontlist: Rom10.500
Beispiel:
MODULE smp REAL, DIMENSION (100,10) :: x, y INTEGER :: i,j END MODULE smpwird zu
MODULE smp COMMON /mod/ x,y,i,j !IBM* THREADLOCAL /mod/ REAL, DIMENSION (100,10) :: x, y INTEGER :: i,j END MODULE smpDer COMMON-Block ist erforderlich, weil man in der THREADLOCAL-Direktive nur Blöcke und keine einzelnen Datenelemente angeben kann.
Per default wird ein backslash "\" in Zeichendaten,
Hollerith-Konstanten, H-Datenfeldbeschreibungen und
Zeichen-Datenfeldbeschreibungen als escape-Symbol
interpretiert. Wenn man dagegen will, dass das Zeichen
als "\"-Zeichen behandelt wird, muss man die
Compiler-Option
Alles über die XLF-Implementierung solcher Integer-Pointer finden Sie hier.

4. Dez 2002
Wilhelm
Gehrke
gehrke@rrzn.uni-hannover.de