Skip to content

Trinity easyblock bumped to work with version 2.1.1#802

Merged
boegel merged 5 commits intoeasybuilders:developfrom
hajgato:trinity211
Jan 13, 2016
Merged

Trinity easyblock bumped to work with version 2.1.1#802
boegel merged 5 commits intoeasybuilders:developfrom
hajgato:trinity211

Conversation

@hajgato
Copy link
Copy Markdown
Collaborator

@hajgato hajgato commented Jan 11, 2016

No description provided.

@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1575/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 boegel added this to the v2.6.0 milestone Jan 12, 2016
Comment thread easybuild/easyblocks/t/trinity.py Outdated
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.

you're comparing a LooseVersion instance with a string here

Python allows that, and it may seem to work, but it doesn't do what you think it does

please change to (note the >=):

if LooseVersion(self.version) >= LooseVersion('2.0') and LooseVersion(self.version) < LooseVersion('3.0'):

@boegel
Copy link
Copy Markdown
Member

boegel commented Jan 12, 2016

@hajgato: remarks fixes in hajgato#12

Comment thread easybuild/easyblocks/t/trinity.py Outdated
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.

The problem I bumped into in easybuilders/easybuild-easyconfigs#2306 (comment) is related to this.

The reason that this is needed seems to be that gcc is hardcoded for the plugins, and using Intel compiler flags with GCC isn't working out well.

You're not undefining $LIBS here, which explains the problem I'm running into.

However, I feel this is wrong approach: we should make sure the Intel compilers are used instead where they should be?

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.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@boegel: Yes, I am a bit afraid of this. I am not 100% sure how we have to handle this, as it seems that the Trinity authors recommend only Chrysalis and Inchworm to be compiled with Intel, and the rest with GCC. I do not know what is the correct solution in this cases, as I do not know how to pull the right GCC compiler flags. (And I am not sure that we do not have to use the hard-coded options). Anyway, one of our user already got into a problem with Intel compiled blastx, it gave wrong results (but not blastn), and apparently the foss version was rather similar in speed .

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 rarely run into problems anymore when swapping GCC with the Intel compilers, I think BLAST+ is an exception here (do you have an issue for it?).
Usually, if is happens, it can be fixed by making sure 'strict' precision is used; the Intel compilers are (a lot) less strict w.r.t. floating-point precision that GCC is. EB already 'corrects' for that a bit by specifying certain precision-related flags by default when using the Intel compilers, but sometimes they need to be made a little bit stricter (by using 'strict': True in toolchainopts in the easyconfig).
Also, I'm not sure that explicitly using GCC for the Trinity plugins is actually the intention; it looks like a case of "GCC is the only compiler" to me...

Also, this is relevant: https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/t/Trinity/trinity_ictce-no-jellyfish.patch .
Older versions of jellyfish seemed to fail to build with Intel compilers, this is clearly not the case anymore.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@boegel: Maybe we have to consider compile everything with Intel compiler then?

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.

Sure, we can try and track down the places where gcc or g++ is hardcoded, and see how much effort it is to get that changed (and working).

But that's for a follow-up PR imho.

@hajgato
Copy link
Copy Markdown
Collaborator Author

hajgato commented Jan 13, 2016

@boegel: merged

@hpcugentbot
Copy link
Copy Markdown

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1587/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 Jan 13, 2016

tested with easybuilders/easybuild-easyconfigs#2306, good to go, thanks @hajgato!

boegel added a commit that referenced this pull request Jan 13, 2016
Trinity easyblock bumped to work with version 2.1.1
@boegel boegel merged commit 673cd54 into easybuilders:develop Jan 13, 2016
@hajgato hajgato deleted the trinity211 branch June 8, 2017 13:25
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.

3 participants