Skip to content

Update easyblocks for MPICH and MVAPICH2#844

Merged
boegel merged 20 commits intoeasybuilders:developfrom
besserox:mvapich2
Mar 2, 2016
Merged

Update easyblocks for MPICH and MVAPICH2#844
boegel merged 20 commits intoeasybuilders:developfrom
besserox:mvapich2

Conversation

@besserox
Copy link
Copy Markdown
Contributor

MVAPICH2 library names have changed since version 2.1.
These changes in the library names are inherited from MPICH 3.1.1 and above.
cf http://git.mpich.org/mpich.git/blob_plain/v3.1.1:/CHANGES

Damian Alvarez and others added 5 commits January 29, 2016 14:26
… what the MPICH configure expects. MVAPICH2 now inherents from that easyblock instead of ConfigureMake
… what the MPICH configure expects. MVAPICH2 now inherents from that easyblock instead of ConfigureMake
…locks into mpich_derivatives_easyblocks

Conflicts:
	easybuild/easyblocks/m/mvapich2.py
MVAPICH2 library names have changed since version 2.1.
These changes in the library names are inherited from MPICH 3.1.1 and above.
cf http://git.mpich.org/mpich.git/blob_plain/v3.1.1:/CHANGES
@hpcugentbot
Copy link
Copy Markdown

Automatic reply from Jenkins: Can I test this?

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 29, 2016

Jenkins: ok to test

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 29, 2016

hmm, this is going to conflict nicely with #818...

@damianam: thoughts?

@boegel boegel modified the milestones: v2.x, v2.7.0 Feb 29, 2016
@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1722/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@besserox
Copy link
Copy Markdown
Contributor Author

Thanks for pointing this out.
I will test #818 and see if I can add these sanity check on top of it.

…sybuild-easyblocks into mvapich2

Fixed conflicts in easybuild/easyblocks/m/mvapich2.py
@damianam
Copy link
Copy Markdown
Member

damianam commented Mar 1, 2016

@boegel I still have to get the list of files to be checked by MVAPICH2, MPICH and ParaStationMPI. I think it makes sense to merge this first, and then I will update my PR accordingly. Does it make sense?

Comment thread easybuild/easyblocks/m/mvapich2.py Outdated
for y in ['%s.a' % x, '%s.%s' % (x, shlib_ext)]]
else:
libraries = ['lib/lib%s' % y for x in ['mpi', 'mpicxx', 'mpifort']
for y in ['%s.a' % x, '%s.%s' % (x, shlib_ext)]]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

repeating the list comprehension feels a bit bloated, since only the library names are different

cleaned up version proposed in besserox#2

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 1, 2016

@damianam: ok, makes sense, thanks for the feedback

besserox added 3 commits March 1, 2016 14:33
This also properly detects changes in libraries names depending on MPICH or MVAPICH2 version
This was already the default behavior, just force it as the sanity check except them.
@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 1, 2016

I tested this easyblock (with besserox#2 included) with all existing MVAPICH2 easyconfigs + the new ones available from easybuilders/easybuild-easyconfigs#2589, works like a charm.

Let's get this merged @besserox?

@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1726/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1727/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@besserox
Copy link
Copy Markdown
Contributor Author

besserox commented Mar 1, 2016

I have updated this branch:

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 1, 2016

@besserox: Thank you for the effort!

Frankly, it may have been easier to just get your original PR merged, and then rework #818 based on that, but we can make this work too... :-)

The thing is that @damianam is working on some changes on top of #818 (mostly w.r.t. the sanity checks), so he'll have to look into that on top of this PR now. Please ack @damianam?

W.r.t. use_new_libnames, I would take a different approach, rather than introduce a custom method. Let me get back to you with a suggestion there.

@damianam
Copy link
Copy Markdown
Member

damianam commented Mar 1, 2016

@boegel yes, I was working on that and had it mostly done. But it doesn't matter (see below).

In my PR we used the MPICH easyblock for psmpi. The approach of this PR affects in these points:

  • psmpi doesn't build mpiexec and similar, so the sanity check would fail.
  • psmpi sets its own options for MPICH (its configure calls the MPICH configure), so the default MPICH options are not understood by the configure script of psmpi.

As it is now it won't work for us or any other psmpi user. We can, however, create a psmpi-specific easyblock. It might actually be the best solution. If we go down that way it would be helpful to separate the variable redefinition in a separate function, so we can override the configure_step without duplicating that piece of code. Thoughts (cc @ocaisa)?

@besserox besserox changed the title Update sanity checks for MVAPICH2 easyblock for versions >= 2.1 Update easyblocks for MPICH and MVAPICH2 Mar 1, 2016
@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1728/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 1, 2016

@besserox: please take a look at besserox#3 that cleans this up a bit

boegel and others added 5 commits March 1, 2016 21:27
rework use_new_libnames as named argument for sanity_check_step + style fixes in MPICH/MVAPICH2 easyblocks
@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1730/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

more style fixes in MPICH easyblock
@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1732/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 2, 2016

(re)tested thoroughly with existing MVAPICH2 easyconfigs + with the MPICH/MVAPICH2 easyconfigs from easybuilders/easybuild-easyconfigs#2589 (see test report at easybuilders/easybuild-easyconfigs#2589 (comment))

So, going in!

Thanks a lot for your efforts on this @damianam and @besserox!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants