Skip to content

Generic compilation support #1471

Merged
boegel merged 14 commits intoeasybuilders:developfrom
pescobar:generic-compilation
Dec 9, 2015
Merged

Generic compilation support #1471
boegel merged 14 commits intoeasybuilders:developfrom
pescobar:generic-compilation

Conversation

@pescobar
Copy link
Copy Markdown
Member

No description provided.

Comment thread easybuild/toolchains/compiler/gcc.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.

this should be a constant named GENERIC, that you import from easybuild.tools.toolchain.toolchain

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2324/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@boegel boegel modified the milestone: v2.5.0 Nov 13, 2015
@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2335/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2336/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2337/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

fix --list-toolchains, always include generic flags (regardless of 'optarch' toolchain option)
@boegel
Copy link
Copy Markdown
Member

boegel commented Nov 19, 2015

Jenkins: test this please

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2355/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 Nov 20, 2015

@pescobar: this still needs:

  • enhanced unit test (see test_override_optarch in test/framework/toolchain.py)
  • docs update

@rjeschmi
Copy link
Copy Markdown
Contributor

Is it worth supporting something in between generic and native?

@pescobar
Copy link
Copy Markdown
Member Author

pescobar commented Dec 4, 2015

@rjeschmi I tried to build a software stack "in between" to use it as my generic software stack and I got problems.

My specific case was that I was compiling my "generic" software stack in the oldest cpu I had around which was a nehalem. I was building in the nehalem cpu with the default gcc option in easybuild of "-march=native" and I supposed that this would work in any other cpu but I found problems when trying to use this software stack in AMD cpus (magny-cours I think) and also when using it in xenserver virtual machines.

That's why I would suggest to build totally generic. I would focus this feature in portability and not in performance

@pescobar
Copy link
Copy Markdown
Member Author

pescobar commented Dec 9, 2015

I did some tests and seems to be working for GCC. See this three build logs:

This one is a normal build without using --optarch
https://gist.github.com/61a9a47dc513e5bb4af2

This one is with --optarch=GENERIC and toolchainopts = {'optarch': True}
https://gist.github.com/6e1bf60e5e51a4ace7f5

This one is with --optarch=GENERIC and toolchainopts = {'optarch': False}
https://gist.github.com/e53fec626cae9c75d2ad

If you grep for "march" in those build logs all them seem fine for me.

Opinions @boegel ?

@boegel
Copy link
Copy Markdown
Member

boegel commented Dec 9, 2015

@pescobar: seems to be working indeed, so go ahead with the docs update

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 should be self.COMPILER_OPTIMAL_ARCHITECTURE_OPTION = {

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2407/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 Dec 9, 2015

@pescobar: unit test + cleanup in pescobar#16

add unit test for --optarch=GENERIC + clean up way in which --optarch=GENERIC is handled
@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2411/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link
Copy Markdown

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2412/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 Dec 9, 2015

Going in, thanks @pescobar!

docs update at easybuilders/easybuild#172 will be included soon too

boegel added a commit that referenced this pull request Dec 9, 2015
@boegel boegel merged commit 70c5fcc into easybuilders:develop Dec 9, 2015
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