Skip to content

Bugfix openmpi about osdeps etc #650

Merged
boegel merged 10 commits intoeasybuilders:developfrom
fgeorgatos:bugfix_openmpi_osdeps
Feb 13, 2014
Merged

Bugfix openmpi about osdeps etc #650
boegel merged 10 commits intoeasybuilders:developfrom
fgeorgatos:bugfix_openmpi_osdeps

Conversation

@fgeorgatos
Copy link
Copy Markdown
Contributor

here is an openmpi easyconfigs cleanup, triggered by the need to actually use osdeps, correctly.

The points that SHOULD be reviewed as non-trivial are:

  • --with-hwloc=$EBROOTHWLOC was missing from the iccifort case; bug??? if so, fixed.
  • Use shared_lib_ext for OpenMPI-1.6.5-GCC-4.7.2

@hpcugentbot
Copy link
Copy Markdown

Automatic reply from Jenkins: Can I test this?

@boegel
Copy link
Copy Markdown
Member

boegel commented Dec 27, 2013

Jenkins: ok to test

@fgeorgatos
Copy link
Copy Markdown
Contributor Author

Hi,

I'd like we bump up the priority of this one, because:

  • if not, we keep copying asymmetric style easyconfigs, for our new PRs
  • if not, it prevents me (and perhaps others) from working on cleaned-up openmpi easyconfig templates, on site customizations
  • it is THE best place to start fiddling with easyconfig format v2.0: because of the different patches needed, since OpenMPI fellows changed the tunable options names across versions, then changed back etc (seeing is believing).

tia,
F.

@fgeorgatos
Copy link
Copy Markdown
Contributor Author

ah, yeah, and also, last but not least:

  • folks on debian/ubuntu would be disappointed by the osdeps error message.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why do you add dependency on IB verbs for a no-OFED build?
The '--without-openib' configure flag is used so it is actually not required.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

good catch, fixed it via b37f7a8!

is the rest of the PR reasonable to you?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same thing here

@besserox
Copy link
Copy Markdown
Contributor

I have not tried the builds myself, but this looks ok to me.
Nothing new, this just make all the OpenMPI easyconfigs more uniform.

Once the osdependencies are fixed for the all the no-OFED variants, i think it's good to go.

Signed-off-by: Fotis Georgatos <[email protected]>
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.

This is something we should avoid... We want to get rid of executing Python code in easyconfigs (see the format v2 effort) and adding if-else constructs is the exact opposite...

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.

A solution to this would be to support specifying alternatives in osdependencies, like we already have in sanity_check_paths:

osdependencies = [('libibverbs-devel', 'libibverbs-dev')]

This needs changes to the framework though, and since we're way past the freeze for EB v1.11, it'll have to wait (sorry :().

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

wait a sec: this is not something new, look fi. at this file:

  • OpenMPI-1.4.5-GCC-4.6.3.eb

This PR does not really introduce new features, just homogenizes all OpenMPI sources,
to make them amenable to 1) further git branching/diffing 2) ready for easyconfig 2.0

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.

OK, that changes things, sorry about that. If it's already there, it makes no sense not to have it aligned across easyconfigs. Thanks for clarifying that.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

ok, no problem, I got surprised for a little while ;-)

I just reverted the unused .patch, this should make this aligned to comments made so far...

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.

I implemented the flexibility support for osdependencies, see easybuilders/easybuild-framework#846.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 11, 2014

Jenkins: test this please

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.

@fgeorgatos: please don't include patches that are not used (and shouldn't be used, since they're site-specific)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

sure, i understand the argument, and then that applies also for the other existing patch file;
yet, if you watch carefully though, it may help a lot newcomers, because OpenMPI is seriously annoying with the change in naming of the variable for defining the connector; to make things more interesting, more recent versions reverted back to the old style and this makes this new patch interesting… anyway, I'm cool about it, if you don't like it let's drop it

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.

@fgeorgatos: It's not that I don't like the patch, it's just that the easyconfigs repo isn't the right place to document 'fancy hacks' (forgive me the lack of respect ;-))

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

'fancy hacks':

  • I don't bother for the lack of respect (I know I do fancy hacks anyhow, so I remain unfazed ;-)
  • the point is, OK, how should we share the experience of customizing the MPI stacks? I really think that users of EasyBuild ("social sysadmins") would like to share such information.

And if there is a better way to do so than the proposed patch, I'm totally eager to hear that...

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.

With decent tools (e.g. mympirun), there's probably no need for the patch (although I haven't looked into the details, I must admit).

This is a documentation aspect, and EasyBuild isn't about documentation... Let's try and avoid making EasyBuild solve all the problems in the world. ;-)

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 13, 2014

I don't think we need to hold this back until easybuilders/easybuild-framework#846 is merged in (especially since there's some discussion there).

The if-else crap was already there in the OpenMPI easyconfigs, this just aligns things. so good to go.

Thanks for the effort @fgeorgatos!

boegel added a commit that referenced this pull request Feb 13, 2014
@boegel boegel merged commit 46dd500 into easybuilders:develop Feb 13, 2014
@fgeorgatos fgeorgatos deleted the bugfix_openmpi_osdeps branch February 13, 2014 12:26
@fgeorgatos
Copy link
Copy Markdown
Contributor Author

OK, good to hear this, since we can now provide site customizations over a quite decent base!
(I mean, consistent, so that there is good symmetry in the diffs), ty!

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