ANUSF
Fujitsu VPP300 Userguide

 

NQS Batch queues

Interactive user

Project Accounting

File Systems

Programming Languages

Programming Tools

Vectorization and Tuning Guide

HPC Programming Hints

 

 

Older doco that may still be relevant

VP2200 User Guide
 &  Vectorization

 

[Back to]
[VPP]

 

   

Programming Languages


Fortran90

Fujitsu's Fortran90 compiler, frt, is a complete and robust Fortran90 implementation that is also entirely compatible with FORTRAN77EX/VP that was on the VP2200. That is, frt on the VPP300 is a superset of frt on the VP2200 so that porting from the VP to the VPP should be trivial.

The only differences are in the frt compiler options the most significant being that vectorization is the default and -Wv only controls vectorization attributes. There are quite a few new optimization compiler options both for vectorization and for the LIW scalar processor. At present the best combinations are not known so you may have to experiment (let us know what you find out).

A number of the options are specific to Fortran90:

  • -Free and -Fixed for source form
  • -Am and -M for modules
  • the -Ae option FORTRAN77EX/VP is no longer needed or available

Check the frt man page to see what is relevant to you. For more complete information, look at the UXP/V Fortran90/VP User's Guide V10 under the On-line UXP/V manuals. F90 Compilation and run-time errors can be interpretted using the UXP/V Fortran90 Messages V10 online manual.

See our Beginners Guide to VPP Fortran for documentation on the parallel extensions to UXP/V Fortran.


C and C/VP

UXP/V supports both an ANSI C and vectorizing C (C/VP) compiler. The UXP/V C Language User's Guide V10, and the UXP/V C/VP User's Guide V10 are the main sources of documentation. On top of this, there are an extensive set of UXP/V Programmer's Guides: ANSI C Programming Support Tools under the On-line UXP/V manuals.

The vectorizing C compiler is vcc - look at the vcc man page for details of options to vcc.
for loops are targeted for vectorization by vcc. There are a number of conditions that must be satisfied before a for loop is amenable to vectorization - see the Vectorization conditions section of the Programming chapter of the UXP/V C/VP User's Guide V10.


C++

A demo license for C++ is valid until November 1996. See the CC man page for details. Include
  setenv USE_CC
in your .cshrc. Additional environment variables of interest include:

CCLIBDIR : path to CC lib files
CCINCDIR : path to CC include files


PVM and MPI

The PVM and MPI message passing libraries for parallel programming is available on the VPP300. To find further details refer to the pvm and mpi man pages on the VPP.

PVM
The present version of PVM is designed for inter-PE, intra-VPP communication, i.e. it cannot be used to make the VPP PEs part of a large host set. As part of optimizing PVM for inter-PE communication and tailoring PVM for the VPP system, several restrictions related to process spawning and hosts apply. The most significant of these is that pvmspawn cannot spawn binaries other than the one which calls them, i.e. you can only use one executable. This does not restrict functionality.

See the UXP/V PVM User's Guide V10 under the On-line UXP/V manuals for further details including linking procedures etc.

Include the following line in your .cshrc

       setenv USE_PVM
so that you can refer to
       PVMINCDIR :  path to PVM include files 
       PVMLIBS   :  PVM libraries and link options
Users linking with cc should also add -J to their link line.

MPI
Details of Fujitsu's implementation of MPI can be found in the UXP/V MPI User's Guide.

Include the following line in your .cshrc

       setenv USE_MPI
so that you can refer to
       MPIINCDIR :  path to MPI include files 
       MPILIBS   :  MPI libraries and link options
Users linking with cc should also add -J to their link line.