new psmpi easyblock, and environment variable setup in mpich.py flush…#852
new psmpi easyblock, and environment variable setup in mpich.py flush…#852boegel merged 8 commits intoeasybuilders:developfrom
Conversation
…ed out to its own method
|
Automatic reply from Jenkins: Can I test this? |
|
@boegel , as promised. New easyconfigs PR coming |
|
Jenkins: ok to test |
|
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1739/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. |
| # and in a typical scenario we probably don't want them. | ||
| self.setup_env_vars() | ||
|
|
||
| # Bypass the configure_step of EB_MPICH |
There was a problem hiding this comment.
mention why? (configure options defined there do not apply to psmpi?)
| if use_new_libnames: | ||
| libnames = ['mpi', 'mpicxx', 'mpifort'] | ||
| else: | ||
| libnames = ['fmpich', 'mpichcxx', 'mpichf90', 'mpich', 'mpl', 'opa'] |
There was a problem hiding this comment.
how close is this to the MPICH sanity check?
looks like a lot of copy-pasting to me, the difference between psmpi and MPICH doesn't really stand out (and it should, imho)
There was a problem hiding this comment.
how close is this to the MPICH sanity check?
looks like a lot of copy-pasting to me, the difference between psmpi and MPICH doesn't really stand out (and it should, imho)
|
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1740/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 all the suggested changes have been done. I haven't retested though. |
| """ | ||
| Skip common options found in other MPICH-based runtimes | ||
| """ | ||
| pass |
There was a problem hiding this comment.
I feel like it would be more elegant having an optional parameter in the configure_step in mpich.py. Something like:
def configure_step(self, set_default_options=True):
And then here, in psmpi.py something like:
def configure_step(self):
[...]
super(EB_psmpi, self).configure_step(set_default_options=False)
@boegel would you agree?
There was a problem hiding this comment.
I actually like it better like this, since it's very explicit.
Maybe replace the pass with `self.log.info("Not using MPICH-specific configure options to configure psmpi")
There was a problem hiding this comment.
I just don't like the idea of doing and undoing (defining a method in mpich.py and overriding it to make it do nothing).
With an extra optional parameter in the configure_step method we avoid that, and it is also pretty explicit (you see it in the signature of the method).
|
|
||
| # configure, make and make install are default | ||
|
|
||
| def sanity_check_step(self, custom_paths=None, use_new_libnames=None): |
There was a problem hiding this comment.
you can drop use_new_libnames here, since we don't have an easyblock that derives from EB_psmpi (and we'll probably won't have one soon)
There was a problem hiding this comment.
same for custom_paths btw, just drop it here (and below)
|
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1744/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. |
| Disable the checking of the launchers for ParaStationMPI | ||
| """ | ||
| # cfr. http://git.mpich.org/mpich.git/blob_plain/v3.1.1:/CHANGES | ||
| # MPICH changed its library names sinceversion 3.1.1 |
There was a problem hiding this comment.
fix comment accordingly, any reference for psmpi?
New psmpi easyblock, and environment variable setup in mpich.py flushed out to its own method