This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: [RFC] gfortran's coarray (library version): configure/build and the testsuite


Hello,

* Jorge D'ELIA wrote on Wed, Apr 06, 2011 at 01:24:58AM CEST:
> Here there are few comments from my college Lisandro Dalcin,
> an external developer of PETSc, e.g. see

> ----- Mensaje original -----
> > The current scheme is that the user somehow compiles 
> > the communication library (libcaf) [2] and then builds 
> > and links doing something like:
> >
> > mpif90 -fcoarray=lib fortran.f90 -lcaf_mpi
> >
> > or alternatively
> >
> > gfortran -fcoarray=lib fortran.f90 -lcaf_mpi
> > -I/usr/lib64/mpi/gcc/openmpi/include
> > -L/usr/lib64/mpi/gcc/openmpi/lib64
> > -lmpi
> >
> > with some -I<dir>, -L<dir> -l<libs> are added. 
> > (Cf. "mpif90 -show" of some MPI implementations.) 
> >
> > The resulting program is then run using, e.g.,
> >
> > mpiexec -n 3 ./a.out
> >
> > Alternatively, it could be just "-lcaf_single" 
> > which is run like normal ("./a.out").

I think one of the most important things is that you allow to override
both the running of mpif90 and the mpiexec commands, so as to allow
batch environments (qsub, llrun).  Although, parsing of output might
need to be more complex in that case, too.  But if only to allow for
different mpiexec.* incarnations this would be good.

> > (In any case, only static libraries should be created; 
> > the libraries could then be installed 
> > in $PREFIX/$lib/gcc/$target/$version/, where
> > already libgcc.a etc. are located.)
> 
> COMMENT: well, using shared libraries would certainly help 
> users to switch the underlying MPI implementation at runtime. 
> This is an feature should be considered.

The MPI implementations I know all have pairwise incompatible ABIs,
prohibiting any kind of switching at run time.  If anything, GCC
might consider making it easy to build and install in parallel the
library for multiple MPI implementations.

Cheers,
Ralf


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