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

update easyblocks for Intel tools to support 2016 versions #756

Merged
merged 48 commits into from Dec 14, 2015

Conversation

wpoely86
Copy link
Member

@wpoely86 wpoely86 commented Dec 2, 2015

This PR is based on top of #691 and #745. It adds support for specifying which components to install.

fmasselink and others added 13 commits September 18, 2015 12:07
… more specific path is not found. This is more in line with how Intel sets up the environment by sourcing the compilervars.sh
* origin/pr/691:
  removed double modextravars and explicit gccversion = None
  fixed paths for TBB, debugger. dirmap will now hold original items if more specific path is not found. This is more in line with how Intel sets up the environment by sourcing the compilervars.sh
  removed make_module_extra
  Modified according to pull request easybuilders#691
  Added support for installing Intel compilers v2016
  added support for Intel 2016 compilers
* origin/pr/745:
  Add mkl 11.3.1.150 support
@@ -30,6 +30,7 @@
@author: Kenneth Hoste (Ghent University)
@author: Pieter De Baets (Ghent University)
@author: Jens Timmerman (Ghent University)
@author: Ward Poelmans (Ghent University)
Copy link
Member Author

Choose a reason for hiding this comment

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

@DirkdeDraak You didn't add yourself to the list of authors. What should I add?

Copy link
Member

Choose a reason for hiding this comment

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

done, see below

@hpcugentbot
Copy link
Contributor

Easyblocks unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1406/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.


if LooseVersion(self.version) >= LooseVersion('2016') and not self.cfg['components']:
self.log.warning("No components specified, falling back to ALL")
self.cfg.update('components', ['ALL'])
Copy link
Member

Choose a reason for hiding this comment

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

no DEFAULTS as fallback?

Copy link
Member

Choose a reason for hiding this comment

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

or just not specify components at all if components easyconfig parameter is not defined

mediaconfigpath = os.path.join(self.cfg['start_dir'], 'pset', 'mediaconfig.xml')
if not os.path.isfile(mediaconfigpath):
self.log.warning("Could not find pset/mediaconfig.xml in the build directory. Skipping list of components to install")
return
Copy link
Member

Choose a reason for hiding this comment

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

don't return inline please, make it harder to understand the code

boegel and others added 3 commits December 11, 2015 12:13
fall back to ALL as value for components for icc/ifort 2016.x (+ style fixes)
@hpcugentbot
Copy link
Contributor

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1460/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.5.0 milestone Dec 13, 2015
@hpcugentbot
Copy link
Contributor

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

guesses = {
'CLASSPATH': ['daal/lib/daal.jar'],
# 'include' is deliberately listed last, so it gets precedence over the other subdirs
'CPATH': ['daal/include', 'ipp/include', 'mkl/include', 'tbb/include', 'include'],
Copy link
Member

Choose a reason for hiding this comment

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

$CPATH was not set before, and it seems like we shouldn't start setting it either...

I think this is causing the problem in discussed at https://github.com/hpcugent/easybuild-easyblocks/pull/772/files#r47450112, i.e. error like this popping up:

lib/types.h(107): error: qualified name is not allowed                                                                                                                         
    typedef std::complex<double> cdouble;                                                                                                                                      
...                                                                                                                    
lib/types.h(107): error: expected a ";"                                                                                                                                        
    typedef std::complex<double> cdouble;  

unless the include/c++/4.9.3 subdirectory of the GCC install dir is prepended to $CPATH

this is also mentioned in https://software.intel.com/en-us/forums/intel-c-compiler/topic/338378, to quote:

The problem has been resolved by now. Our system admin, who installed the compiler using the standard Intel installer (only changed the install directory from the default, but nothing else), unnecessarily added the the Intel include paths to the environment variables CPLUS_INCLUDE_PATH, so that #include_next included the same file again (like me, he wasn't aware of the #include_next directive).

Copy link
Member Author

Choose a reason for hiding this comment

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

ok, drop them.

Copy link
Member

Choose a reason for hiding this comment

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

fixed with wpoely86#20

don't include 'include' icc/ifort subdir in $CPATH, causes problems with C++ std::complex
@boegel boegel mentioned this pull request Dec 14, 2015
sync with develop & resolve conflict
@hpcugentbot
Copy link
Contributor

Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1503/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 changed the title Intel 2016 update easyblocks for Intel tools to support 2016 versions Dec 14, 2015
@boegel
Copy link
Member

boegel commented Dec 14, 2015

I gave this another thorough test using the new easyconfigs for:

and also by reinstalling the full toolchain and rebuilding HPL for intel/2015a, intel/2015b, ictce/4.0.6 and also rebuilding Bison with a reinstalled ictce/3.2.2.u3.

I noticed a small issue with the sanity check of tbb failing for 4.3.x and 4.4.x, but I'll issue a follow-up PR to fix that.

Thanks a lot for contributing to this @DirkdeDraak, @jas02 and @wpoely86!

boegel added a commit that referenced this pull request Dec 14, 2015
update easyblocks for Intel tools to support 2016 versions
@boegel boegel merged commit e6730bb into easybuilders:develop Dec 14, 2015
@wpoely86 wpoely86 deleted the intelstuff branch December 15, 2015 08:44
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

5 participants