Request for comments: mpi and using multiple compilers

Sean Farley sean at macports.org
Wed Aug 7 12:32:10 PDT 2013


eborisch at macports.org writes:

> On Mon, Aug 5, 2013 at 6:09 PM, Sean Farley <sean at macports.org> wrote:
>>
>> eborisch at macports.org writes:
>>> I personally swap back and forth between variants of mpich
>>> when I'm testing my own MPI code (why, oh why, doesn't clang have
>>> OpenMP support yet?)
>>
>> Because there is almost no benefit for parallel applications? ;-)
>> Really, though, if you're in the domain where OpenMP can help
>> (computation bound, dense linear algebra) then your time is better spent
>> on using CUDA.
>
> Hrmm, not on the Intel PHI we're using. :) (Obviously not MacPorts
> related, but I often develop on my mac, so it's nice to be able to
> compile & check the OpenMP code.)

Interesting. I don't know what type of problem you are working on but
you might be interested in PETSc's development of mathematical kernel
operations for threading [1,2,3]

>> To help get things moving along, I'd suggest we concentrate on the
>> +gfortran variant (and therefore having mpich / openmpi use 'PortGroup
>> multiplecompilers 1.0'). What would be holding back using the
>> multiplecompilers group with active_variants?
>
> I have no qualms moving to the portgroup; any concerns on the list
> with adding the portgroup [1] to trunk?

Thanks!

> Would you consider modifying it (perhaps it does and I missed it) to
> support something like "multiplecompilers.dragonegg = 0" to disable a
> family (or particular version) rather than making the variants
> explicitly and having them error out in the Portfile?

Ah, yes, good point. I got lost in this thread before I could ask for
feedback on how to set variants in the port group but control this with
a variable?

I know this method would work:

set multiplecompilers.dragonegg = 0
PortGroup multiplecompilers 1.0

but that looks really ugly. Alternatively, we could set up a proc like
the bitbucket / github portgroups do but I was hoping for a way to not
require every port calling 'setup' proc. Is there any tcl magic to do this?

[1] http://lists.mcs.anl.gov/pipermail/petsc-dev/2012-October/009712.html
[2] http://lists.mcs.anl.gov/pipermail/petsc-dev/2013-February/011115.html
[3] http://lists.mcs.anl.gov/pipermail/petsc-dev/2013-July/012555.html


More information about the macports-dev mailing list