gfortran Coarray status – compiler, library & GSoC

Tobias Burnus burnus@net-b.de
Fri Jun 27 06:13:00 GMT 2014


Toon Moene wrote:
> How does this work, configure-wise ?  I have OpenMPI installed on my 
> system in the usual place; will a trunk configure find this 
> automatically ?

Well, currently, the library is separate and not part of GCC, thus, 
building GCC will only (and automatically) build libcaf_single. 
(-lcaf_single).

To build the MPI version with, you need to fetch the libcaf files, enter 
"make mpi" - and then you can link it with "-L path/to/libcaf_mpi/ 
-lcaf_mpi".

You may need to tune some make file settings, but that's it. You don't 
even have to compile the library with the current GCC; ignoring 
__float128 and its complex counter part, you don't even have to use GCC 
to compile it. Later, I intent that one just includes 
ISO_Fortran_binding.h, but for now, it contains some definitions from 
libgfortran.h in the header file.

The idea is to make it simple to compile/recompile the libcaf_* 
libraries without having to re-build GCC. That also makes it simpler for 
Linux distributions, which ship with several MPI implementation. 
Usually, every system has a slightly different set of MPI implementation 
(Open MPI, MPICH, MVARPICH – or vendor versions of those) and also in 
different versions. Having them separate permits to build GCC once – or 
use the nightly build or the vendor's/HPC centre's version – and compile 
the library separately. It also make it simpler to play around with the 
library - including building it as shared library [by default and on 
purpose only a static library is built].

However, we are also considering to support the automatic building of 
libcaf_mpi together with GCC.

Tobias



More information about the Fortran mailing list