Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Easyblock for PGI compilers #658

Merged
merged 4 commits into from Jan 23, 2016
Merged

Easyblock for PGI compilers #658

merged 4 commits into from Jan 23, 2016

Conversation

bartoldeman
Copy link
Contributor

This is a working easyblock to install PGI compilers. It is my first contribution so it may not be the most elegant yet. Please let me know if I missed something.

it works by untarring followed by running a sed-patched install script (to use perhaps use GCC module compilers and libraries instead of always the system compilers)

license_file is set in a matching easyconfig to which is a symlink is produced (we use the same license file for multiple PGI's, and using $PGI/license.dat looks more specific than using $LM_LICENSE_FILE).

@hpcugentbot
Copy link
Contributor

Automatic reply from Jenkins: Can I test this?

@@ -0,0 +1,94 @@
##
# Copyright 2015 Bart Oldeman
Copy link
Member

Choose a reason for hiding this comment

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

usually, copyright on contributions is transferred to Ghent University

if you'd like to retain copyright on this yourself, please read https://github.com/hpcugent/easybuild-easyblocks/blob/master/CONTRIBUTING.md and modify this bit accordingly

Copy link
Member

Choose a reason for hiding this comment

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

oh, and use 2015-2015 (to allow easy updating in 2016)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

is it ok to use the same header as used in easyblocks/c/clang.py? (as far as I can see in CONTRIBUTING.md this is ok)

# This file is triple-licensed under GPLv2 (see below), MIT, and
# BSD three-clause licenses.

Copy link
Member

Choose a reason for hiding this comment

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

Yes, that works too. If it's licensed under MIT/BSD, we have the freedom of either relicensing it at GPLv2, or to relicense everything 'down' to BSD if we ever wanted to (cfr. easybuilders/easybuild-framework#335), which is the whole point of these requirements.

@boegel
Copy link
Member

boegel commented Aug 7, 2015

Jenkins: ok to test

@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1090/
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1090/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
Member

boegel commented Aug 7, 2015

@bartoldeman: thanks a lot for this, I know several people have interest in seeing PGI support added to EasyBuild, and being able to install PGI with EasyBuild is the first step to make this happen

The easyblock is pretty OK overall, just a couple of suggestions (see other comments). Let me know if you have any questions or concerns related to them.

We currently don't have access to PGI, which is an issue w.r.t. to testing this PR (and future ones that require PGI, e.g. easyconfigs using a PGI toolchain).

We've talked to PGI in the past about getting our hands on some kind of free license with limited capabilities, and it sounded like that was a viable option. I need to look into that again...

@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1093/
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1093/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.

@bartoldeman
Copy link
Contributor Author

Thanks for all the comments. I have incorporated them except the change from EB_pgi to EB_PGI.

The compiler itself ships with a sample modulefile named "pgi/15.7", so people are used to loading modulefiles for this compiler with the non-capitalized pgi. A pgi easyconfig then looks for EB_pgi, much like icc looks for EB_icc; EB_PGI is not found (unless I overlooked something?).

@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1182/
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1182/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.

from easybuild.tools.build_log import EasyBuildError
from easybuild.tools.run import run_cmd

class EB_pgi(EasyBlock):
Copy link
Member

Choose a reason for hiding this comment

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

should be EB_PGI?

@boegel boegel added this to the v2.4.0 milestone Sep 13, 2015
'PGI_INSTALL_DIR': self.installdir,
'PGI_INSTALL_JAVA': 'true',
'PGI_INSTALL_MANAGED': 'true',
'PGI_INSTALL_NVIDIA': 'true',
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't these be better custom easyconfig parameters to allow sites to tweak their setup easily?

Copy link
Member

Choose a reason for hiding this comment

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

+1

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@boegel boegel modified the milestones: v2.4.0, v2.5.0 Nov 6, 2015
@boegel boegel modified the milestones: v2.5.0, v2.6.0 Dec 14, 2015
@boegel boegel removed this from the v2.5.0 milestone Dec 14, 2015
@hpcugentbot
Copy link
Contributor

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1620/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
Contributor

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1621/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
Contributor

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1622/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
Member

boegel commented Jan 23, 2016

Retested with easybuilders/easybuild-easyconfigs#1833, I see no reason to hold this back any further.

Thanks a lot @bartoldeman for tackling this!

boegel added a commit that referenced this pull request Jan 23, 2016
Easyblock for PGI compilers
@boegel boegel merged commit 6726a13 into easybuilders:develop Jan 23, 2016
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.

None yet

4 participants