The Fortran M Language

Click here to see the number of accesses to this library.

Fortran M is a small set of extensions to Fortran that supports a modular approach to the design of task parallel, message-passing programs. It has the following features.

Modularity
Programs are constructed by using explicitly-declared communication channels to plug together program modules called processes. A process can encapsulate common data, subprocesses, and internal communication.
Safety
Operations on channels are restricted so as to guarantee deterministic execution, even in dynamic computations that create and delete processes and channels. Channels are typed, so a compiler can check for correct usage.
Architecture Independence
The mapping of processes to processors can be specified with respect to a virtual computer with size and shape different from that of the target computer. Mapping is specified by annotations that influence performance but not correctness.
Efficiency
FM can be compiled efficiently for uniprocessors, shared-memory computers, distributed-memory computers, and networks of workstations. Because message passing is incorporated into the language, a compiler can optimize communication as well as computation.
To go to the Fortran M home page at Argonne National Lab which includes an on-line version of the Fortran M User Manual, click here.


# ======================================================================
# Fortran M, Version 1.0      Date:  February 3, 1994
# ======================================================================
#
 
# --------------------------
# Available software/reports:
# --------------------------

file fm_v1.0.tgz
for  This is the Fortran M compiler
,    and user manual in tar compressed form (1545886 bytes).

file fm_prog_v1.0.ps.gz 
for  This is a compressed tar
,    file of the user manual "Programming in Fortran M"
,    in postscript format (127675 bytes).

file fm_prog_v1.0.tgz
for  This is a compressed tar
,    file of the user manual "Programming in Fortran M"
,    in latex format (64447 bytes).

lib  reports
for  Subdirectory containing various Fortran M-related papers
,    and technical reports

# *******************
# Questions/comments?  Direct email to [email protected]
# *******************

# Ian Foster
# Robert Olson
# Steven Tuecke

# ======================================================================

# ******************
# WHAT IS Fortran M?
# ******************

# Fortran M is a small set of extensions to Fortran 77 that supports
# a modular approach to the design of message-passing programs.  It has
# the following features.  

# (1) Modularity.  Programs are constructed by using explicitly-declared
# communication channels to plug together program modules called
# processes.  A process can encapsulate common data, subprocesses, and
# internal communication.

# (2) Safety.  Operations on channels are restricted so as to guarantee
# deterministic execution, even in dynamic computations that create and
# delete processes and channels.  Channels are typed, so a compiler can
# check for correct usage.

# (3) Architecture Independence. The mapping of processes to processors
# can be specified with respect to a virtual computer with size and
# shape different from that of the target computer.  Mapping is
# specified by annotations that influence performance but not
# correctness.

# (4) Efficiency.  Fortran M can be compiled efficiently for
# uniprocessors, shared-memory computers, distributed-memory computers,
# and networks of workstations.  Because message passing is incorporated
# into the language, a compiler can optimize communication as well as
# computation.

# Compatability libraries are available that allow the integration of
# message-passing programs into an Fortran M framework.  Send mail to
# [email protected] for details.  A compilation system that
# integrates Fortran M and HPF is under development in collaboration
# with Syracuse University.

# For more information, see the user manual or use World Wide Web at
# address
#                http://www.mcs.anl.gov/fortran-m
# (WWW is a distributed  multimedia system, accessible for example
# via NCSA XMosaic.)  The server currently provides FM tutorial slides,
# the FM manual, application case studies, and programming examples.

# Fortran M has been funded in part by NSF and DOE.
 
# ======================================================================