This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gfortran Coarray status â compiler, library & GSoC


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]