Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CAF(1)			  caf compiler wrapper manual			CAF(1)

       caf - OpenCoarrays compiler wrapper to compile and link coarray Fortran
       source files and	programs

       caf  [compiler-options]	[linker-options]  _fortran-source-file_	  [ob-
       ject-files] [libraries]

       caf  is a compiler wrapper script which is generated when the OpenCoar-
       rays library <>
       that  ensures  coarray fortran programs are compiled with the same for-
       tran compiler OpenCoarrays was built for, gfortran(1) by	 default,  and
       that  the linker	links against the appropriate parallel runtime,	MPI by
       default.	The caf	compiler wrapper serves	a similar purpose to  the  MPI
       fortran	wrapper	compiler, mpifort(1).  caf embeds the full path	to the
       Fortran compiler	it was built for, and  to  the	parallel  runtime  li-
       braries it links	against, and a relative	path, based on the install lo-
       cation of caf itself, to	the OpenCoarrays library.  This	 ensures  that
       the  API	 and ABI of OpenCoarrays is always consistent with the Fortran
       compiler	it was built for, and the parallel runtime it uses. To upgrade
       the parallel runtime, e.g., MPI,	or the Fortran compiler, you will need
       to rebuild and install OpenCoarrays, which will	regenerate  and	 rein-
       stall the caf wrapper script.

       caf  tries  to  be smart	about how it calls the underlying compiler and
       linker. Any user	specified libraries will be inserted before the	 Open-
       Coarrays	 library,  libcaf_mpi,	and  before  the  parallel runtime li-
       braries.	This ensures that the linker will be able to resolve any  ref-
       erences	to  the	 OpenCoarrays library and the parallel runtime library
       made by user supplied libraries.	In addition any	options	not recognized
       by caf itself, as outlined below	in the OPTIONS section.	To see the de-
       fault command caf will invoke, run caf --show. To see how caf would ex-
       ecute  a	 specific command, i.e., perform a dry-run, pass the full com-
       mand you	wish to	run, with the additional --show	 option	 as  the  very
       first  option  or  argument  after caf. (e.g., caf --show -c foo.f90 -o
       foo.f90.o or caf	--show foo.f90.o bar.f90.o -lblas -o a.out)

       --help, -h
	      Print a brief help/usage message and return  without  performing
	      any substantive action.

       --show, -s
	      Print the	default	invocation of the underlying compiler, includ-
	      ing what flags are passed, etc. This also	functions as a dry-run
	      for  executing a specific	command, showing the user how the com-
	      piler would be called with the additional	 files	and  arguments
	      passed by	the user.

       --version, -V, -v
	      Print OpenCoarrays version and copyright information and exit.

       --wrapping, --wraps, -w
	      Report the name and version of the Fortran compiler caf is wrap-
	      ping and exit.

       For a list of bugs currently affecting OpenCoarrays, or to report a new
       one,   please   report	any   bugs  to	the  OpenCoarrays  project  at

       Izaak Beekman <>

       cafrun(1),   gfortran(1),   mpifort(1),	 OpenCoarrays	project	  page
       <>,   OpenCoar-
       rays website <>

OpenCoarrays-1.9.1		  2017-09-12				CAF(1)


Want to link to this manual page? Use this URL:

home | help