Source
Release Notes - Downloading the Sources
To reduce the effort needed to distribute the Rice Co-array Fortran compiler (CAFC), we have opted to distribute it in source form only. Source files for the compiler are distributed via anonymous CVS checkout.
- To retrieve the source files from CVS, you will need to download hipersoft-anonssh
an ssh script that contains a key that will grant you read-only access to the Hipersoft CVS repositories at Rice University. Save this script in ${HOME}/bin/hipersoft-anonssh and change permissions to make it executable.
- Set up the required CVS environment variables to enable you to access the CAFC repository.
(csh variants) setenv CVS_RSH ${HOME}/bin/hipersoft-anonssh
setenv CVSROOT :ext:anoncvs@koolkat2.cs.rice.edu:/Volumes/cvsrep/developer
(sh variants)
export CVS_RSH=${HOME}/bin/hipersoft-anonssh
export CVSROOT=:ext:anoncvs@koolkat2.cs.rice.edu:/Volumes/cvsrep/developer
- Use CVS to check out the the 0.6 release of the CAFC sources using the command
cvs co -r CAFC-0_6 cafc
External Packages
CAFC needs the following packages: Open64, MPI, ARMCI, autoconf, automake.
Open64 Notes:
Downloading:
Using the same CVS environment variables specified for CAFC above, please check out the "Open64sl_for_CAFC-0_6" release of the CAFC compiler.
cvs co -r Open64sl_for_CAFC-0_6 Open64
Building:
Before attempting to build Open64, check the information below about what compilers to use on your platform. Open64 must be built using the same compilers as used to build CAFC, as described below.
1. Change to Open64 directory, cd Open64/osprey1.0
2. Change to a platform specific target directory:
- Linux (IA32): targ_ia32_ia64_linux
- Linux (IA64): targ_ia64_ia64_linux
- Tru64: targ_alpha_tru64
- IRIX64: targ_mips_irix
3. Build mfef90, whirl2f, ir_tools and libf90caf:
cd crayf90/sgi; make ; cd -
cd whirl2f; make; cd -
cd ir_tools; make; cd -
cd libf90caf; make ; cd -MPI Notes:
See the information below about what MPI version we have successfully used on a particular platform. Generally, we use a vendor-supplied MPI library where available. Information about vendor MPI implementations can be obtained from vendors' web sites. We have successfully used ARMCI and CAFC with MPICH on platforms for which no vendor MPI implementation was available. You can find information about MPICH and how to download it here.ARMCI Notes:
Review the information about downloading and building ARMCI. It might require other vendor-specific communication libraries, such as GM, Quadrics, etc.autoconf Notes:
CAFC needs at least autoconf version 2.58. Information about downloading and building autoconf can be obtained at the GNU Autoconf software site.automake Notes:
CAFC needs at least automake version 1.7.9. Information about downloading and building automake can be obtained at the GNU Automake software site.
Building CAFC
Before attempting to build CAFC, check the information below about what compilers to use on your platform. CAFC must be built using the same compilers as used to build Open64, as described above.- Change to CAFC directory:
cd cafc - Generate Makefiles and configure:
aclocal
autoconf
automake - Run the configure script. Use configure --help for all available options. The most important options are
--prefix=PREFIX install architecture-independent files in PREFIX [/usr/local]
--with-Open64 Open64 root directory
--with-armci ARMCI root directory
--with-mpi MPI root (use --with-mpi=/usr for most vendor MPI distributions)
--with-gm Myrinet GM root (where applicable)
The configure script will try to infer the vendor C, C++ and Fortran 90 compilers, which are used to build the runtime library. The default values are:
- Linux (IA32): icc, icc, ifc
- Linux (IA64): ecc, ecc, efc
- Alpha: cc, cxx, f90
- IRIX64: cc, CC, f90
The user can optionally specify the C++ and F90 compilers:
--with-VendorCXX vendor C++ compiler
--with-VendorF90 path to Fortran compiler (/usr/local/bin/f90)
The configure script will choose the GNU C/C++ compilers in order to build
the CAFC compiler.
On Alpha machines, the Compaq C/C++ compilers can be used by specifying
CC=cc CXX=cxx in the environment before running configure.
On IRIX64 machines, the MIPSPro C/C++ compilers can be used by specifying
CC=cc CXX=CC in the environment before running configure.
- Install the compiler and run-time libraries:
make install
Supported Platforms and Software Stacks
So far CAFC was successfully built and tested on the platforms shown below using the compiler and library versions listed:
- Pentium+Ethernet workstations running Linux32 RedHat 7.3-9.0 with
- GNU C++ 3.3.2
- bunutils 2.13
- Intel C++ and Fortran compilers 7.1
- autoconf 2.58
- automake 1.7.9
- perl 5.6.0
- MPICH 1.2.5
- ARMCI 1.1b
- Itanium2 + Myrinet running Linux64 RedHat 7.2 with
- GNU C++ 3.3.2
- bunutils 2.13
- Intel C++ and Fortran compilers 7.1
- autoconf 2.58
- automake 1.7.9
- perl 5.6.1
- Myrinet GM 1.6.4
- MPICH-GM 1.2.5 (available from www.myri.com and compiled with Intel 7.1 compilers)
- ARMCI 1.1b
- SGI Altix 3000 running Linux64 RedHat 7.2 with
- GNU C++ 3.3.2
- bunutils 2.13
- Intel C++ and Fortran compilers 7.1
- autoconf 2.58
- automake 1.7.9
- perl 5.6.1
- SGI's native MPI
- ARMCI 1.1b
- Alphaserver SC + Quadrics running OSF1 Tru64 V5.1A with
- Compaq C++ compiler V6.5 or GNU C++ 3.3.2
- Compaq Fortran V5.5
- autoconf 2.58
- automake 1.7.9
- perl 5.6.0
- Compaq MPI
- Quadrics ELAN 3 libraries
- ARMCI 1.1b
- SGI Origin 2000 running IRIX64 6.5 with
- MIPSPro C/C++ compiler 7.3.1.3m
- MIPSPro F90 compiler 7.3.1.3m
- autoconf 2.58
- automake 1.7.9
- perl 5.6.0
- IRIX MPI
- ARMCI 1.1b