Fortran 90 from SunSoft

PERFORMANCE WORKSHOP FOR FORTRAN 95

Forte Fortran & High Performance Computing (HPC), formerly "Sun Performance WorkShop Fortran", is the first in a family of products targeted at the developer building applications for the high performance computing market. New features are a Fortran 95 compiler, and a math library optimized for the SPARC(R) platform. It also includes support for Interval Arithmetic.

Fortran 90 on Solaris

System parameters on Solaris UNIX

The system parameters on Solaris, using the SunSoft Fortran 90 compiler are given here. Compare the corresponding table for NAG, Digital or Cray.

Sun, Digital, and Cray use the number of bytes as the KIND-parameter. SunSoft permits the values 1, 4, and 8 for logical variables (with the same result as for the default value 4), the values 1, 2, and 4 for integers, the values 4 and 8 for floating point values, and also the values 4 and 8 for complex values. The names int7, int15, and int31 are mine.


  

LOGICAL              Default      byte      word     double

  KIND number =            4         1         4          8



INTEGER                   int7          int15         int31

 KIND number =               1              2             4

      digits =               7             15            31

       radix =               2              2             2

       range =               2              4             9

        huge =             127          32767    2147483647

    bit_size =               8             16            32



REAL                      single          double

  KIND number =                4               8

       digits =               24              53

  maxexponent =              128            1024

  minexponent =             -125           -1021

    precision =                6              15

        radix =                2               2

        range =               37             307

      epsilon =   0.11920929E-06  0.22204460E-15

         tiny =   0.11754944E-37  0.22250739-307

         huge =   0.34028235E+39  0.17976931+309



COMPLEX                  single           double

  KIND number =               4                8

    precision =               6               15

        range =              37              307

Compilation on Solaris UNIX

You can get the compiler switches with the command f90 -flags. I here reproduce the most important of these.

-ansi:         Report non-ANSI extensions.

-c:            Suppress linking, produce .o files

-e:            Recognize extended (132 character) source lines

-fast:         Specify common set of performance options

-fixed:        Interpret all Fortran source files according to 

	       fixed form rules

-flags:        Print summary of compiler options

-fnonstd:      Non-standard initialization of floating-point 

               hardware

-fnonstop:     Execute without trapping on invalid, overflow, 

               and divide by zero

-fns:          Turn on non-standard floating point mode

-free:         Interpret all Fortran source files according 

               to free form rules

-g:            Generate debugging information used by dbx

-help:         Print summary of compiler options

-LX:           Passed to the linker to add X to the library 

               search path

-lX:           Read object library (for ld)

-MX:           Add directory X to module search path

-o file:       Set name of output file

-O:            Generate optimized code

-onetrip:      Perform DO loops at least once

-p:            Prepare object code to collect data for 

               profiling with prof

-pg:           Prepare object code to collect data for 

               profiling with gprof

-qp:           Same as -p



	Produce file of type (may also be spelled -qproduce)



-Qproduce .f90:     .f90  (f90 source, Free Form)

-Qproduce .f:       .f    (f90 source, Fixed Form)

-Qproduce .lst:     .lst  (f90 listing)

-Qproduce .o:       .o    (Object file)

-Qproduce .s:       .s    (Assembler source)



-S:            Product .s file only (do not assemble or link)

-s:            Strip the executable

-time:         Report the execution time for each component

-V:            Show version number of each invoked component

-v:            Verbose mode

-w:            Suppress compiler warning messages

The following suffices may be used.

Suffix 'a':    Object library

Suffix 'il':   Inline expansion file

Suffix 'o':    Object file

Suffix 'so':   Shared object

Suffix 's':    Assembler source

Suffix 'S':    Assembler source for cpp

Suffix 'for':  f90 source (Fixed Form)

Suffix 'ftn':  f90 source (Fixed Form)

Suffix 'f':    f90 source (Fixed Form)

Suffix 'F':    not currently recognized

Suffix 'f90':  f90 source (Free Form)

Suffix 'lst':  f90 listing

Back to Appendix 6 (of the English version)
Back to Appendix 7 (of the Swedish version)


Last modified: 27 June 2000
boein@nsc.liu.se