Compilers and MPI Port Groups
Sean Farley
sean at macports.org
Sun Jan 19 15:41:22 PST 2014
sean at macports.org writes:
> 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.
Any objections before I push? I guess at this point the errors that are
left are of the type that one finds after trying to get the buildbot to
compile a port.
More information about the macports-dev
mailing list