Die NAGWare-Fortran95-Compiler sind keine hochoptimierenden Compiler. Es handelt sich vielmehr um Compiler, die Fortran 95 nach C übersetzen und anschließend den nativen C-Compiler für die Codeerzeugung verwenden. Von diesem Umweg bei der Code-Erzeugung merkt der Programmierer aber nichts. Die Quelltextanalyse ist ganz hervorragend. Der erzeugte Code ist nicht immer sehr schnell, dafür aber vergleichsweise zuverlässig. Es gibt auch Fälle, in denen der erzeugte Code deutlich schneller ist als der mittels Sun-f95 erzeugte Code. ("Performance Tips" s.u.)
Das RRZN hat zur Zeit NAGWare-Fortran95-Compiler der Version 4.2 für folgende Plattformen im Hause:
| Product Code | Target Platform | Distribution |
|---|---|---|
| NPDAU42NA | DEC Alpha Unix | NAGWare_f95-alpha |
| NPH9742NA | Hewlett Packard 9000 Series 700, HP-UX11 | NAGWare_f95-hp700 |
| NPH9742NA | Hewlett Packard 9000 Series 700, HP-UX 10 | NAGWare_f95-hp700_10 |
| NPIB642NA | IBM RISC System/6000 | NAGWare_f95-rs6000 |
| NPLUX42NA | Linux (Intel) | NAGWare_f95-linux |
| NPSG542NA | Silicon Graphics (IRIX 5) | NAGWare_f95-irix5 |
| NPSG642NA | Silicon Graphics (IRIX 6 + IRIX64) | NAGWare_f95-irix64 |
| NPSOL42NA | Sun SPARC (Solaris) | NAGWare_f95-sparc |
| NPSOL42NG | Sun SPARC (Solaris) GCC | NAGWare_f95-sol2gcc |
| NPSU442NA | Sun SPARC (SunOS) | NAGWare_f95-sun4 |
Es gibt auch Compiler-Versionen für hier nicht genannte Plattformen. Welche Compiler-Version für welche Plattform verfügbar ist, erfahren Sie direkt von NAG via Product Availability-Liste.
Am RRZN wird der Compiler nicht mit dem Namen f95, sondern mit ftn95 aufgerufen. Zum Beispiel:
ftn95 -v quelle.f95In den Online-Dokumentationen wird der Compiler trotzdem als f95-Compiler bezeichnet. Manchmal wird auch "f90" gesagt, wo es "f95" heißen müßte.
INTEGER Default int8 int16 int32
KIND number = 3 1 2 3
digits = 31 7 15 31
radix = 2 2 2 2
range = 9 2 4 9
huge = 2147483647 127 32767 2147483647
bit_size = 32 8 16 32
LOGICAL Default byte word
KIND number = 3 1 3
REAL Default single double
KIND number = 1 1 2
digits = 24 24 53
maxexponent = 128 128 1024
minexponent = -125 -125 -1021
precision = 6 6 15
radix = 2 2 2
range = 37 37 307
epsilon = 0.11920929E-06 0.11920929E-06 0.22204460E-15
tiny = 0.11754944E-37 0.11754944E-37 0.22250739-307
huge = 0.34028235E+39 0.34028235E+39 0.17976931+309
COMPLEX Default single double
KIND number = 1 1 2
precision = 6 6 15
range = 37 37 307
CHARACTER
KIND number = 1
digits = 8 (ASCII)
ftn95 quelle.f90 -lnag4nag -lF77
Wenn Sie modernes Fortran (d.h. Fortran ohne FORTRAN 77) lernen wollen oder wenn Sie neue Fortran-Programme methodisch programmieren wollen, dann sollten Sie das Handbuch Die Programmiersprache F verwenden.

27. Jan 2003
Wilhelm
Gehrke
gehrke@rrzn.uni-hannover.de