Compilers and MPI Port Groups

Sean Farley sean at macports.org
Fri Jan 17 17:38:59 PST 2014


sean at macports.org writes:

> sean at macports.org writes:
>
>> Hello all and Happy Boxing Day!
>>
>> I have done a complete rewrite of the compilers and mpi port groups
>> based on suggestions from previous emails. I will try to keep this email
>> short and provide links for those that want to know more.
>>
>> Highlights:
>>
>> - specify which compilers to set via compilers.choose,
>>   e.g. 'compilers.choose f77 f90 fc'
>>
>> - functions for testing if fortran has been selected for optional
>>   interfaces
>>
>> - portfile author can specify if fortran (or mpi) is required
>>
>> - unified and have made non-conflicting openmpi and mpich ports; also
>>   added an openmpi-devel port [1]
>>
>> - can now select either mpi port as the default mpi installation
>>
>> Example of a portfile using the new compilers portgroup:
>> https://smf.io/macports/changeset/compilers
>>
>> Example of a portfile that uses the mpi portgroup:
>> https://smf.io/macports/files/mpi/dports/science/hdf5-18/Portfile
>>
>> The changes I made to the sparskit and hdf5-18 portfiles are just
>> examples I did for illustrative purposes. I won't push them unless the
>> portfile author wants it. The mpich and openmpi portfiles need these
>> changes so that the mpi portgroup will work.
>>
>> Anyway, I'd like to push this soon so that I can continue other work
>> (and close a lot of tickets), so it'd be great if others could take a
>> look at the proposed changes.
>>
>> [1] https://smf.io/macports/changeset/81bb51 or look at the changelog
>> https://smf.io/macports/changelog to see all the diffs
>
> Just an update to say that I've gone ahead and finished updating all the
> ports that use mpi to use this new port group. The only work that needs
> to be done is to get some review of this patch series and after that,
> permission to push.
>
> I've cc'd the people who are the maintainers of the ports I changed,
> listed below. It'd be great to have you guys look at the changes.
>
> dstrubbe: sparskit, hpl, octopus
>
> eborisch: mpich
>
> mww: openmpi
>
> raimue: valgrind, valgrind-devel
>
> takeshi: berkeley_upc, omnixmp, gnudatalanguage, netcdf, netcdf-cxx,
> netcdf-cxx4, netcdf-fortran
>
> mmoll: optpp, hdf5-18, arpack
>
> hum: plda
>
> howarth: apbs-mpi
>
> mattoates: raxml
>
> mk: scotch
>
> michaelld: SuiteSparse
>
> Check out http://smf.io/macports for the updated changes.
>
> Having other people look at this would be great and hopefully would
> catch some of the errors I missed. The common ones I noticed were
> missing revbumps (though, I think I got all of those now).
>
> Documentation is very much "read the comments and the code itself or
> look at an example" so, apologies about that. Also, sometimes I couldn't
> think of a good name for a proc, so if anyone has a better name, please
> speak up.
>
> Some changes since last email are:
>
> - ensure the same mpi is used via mpi.enforce_variant
>
> - ensure the same c compiler is used (even when using mpi) via
>   compilers.enforce_c
>
> - similar for fortran, compilers.enforce_fortran
>
> - test for avx compatible compiler via avx_variant_isset
>
> Still yet to be done is to replace all custom recipes done for the
> compiler variants. By my count, there are no more than 72 of those
> ports. This is lower priority since they'll still work as is.

If nobody has any objections to this, I was hoping to push this in a few days.


More information about the macports-dev mailing list