Skip to content

PGI: add pomkl-2016.03 toolchain + imkl-11.3.2.181-pompi + HPL#2900

Merged
boegel merged 3 commits intoeasybuilders:developfrom
bartoldeman:pomkl
May 11, 2016
Merged

PGI: add pomkl-2016.03 toolchain + imkl-11.3.2.181-pompi + HPL#2900
boegel merged 3 commits intoeasybuilders:developfrom
bartoldeman:pomkl

Conversation

@bartoldeman
Copy link
Copy Markdown
Contributor

@bartoldeman bartoldeman commented Apr 15, 2016

This depends on a lot of other PRs:
easybuilders/easybuild-framework#1342
easybuilders/easybuild-framework#1664
easybuilders/easybuild-easyblocks#866
#2879
#2899

I need -ldl in HPL to compile this:

mpicc -O2 -Mflushz -L/software/CentOS-6/eb/software/Toolchain/pompi/2016.03/imkl/11.3.2.181/lib -L/software/CentOS-6/eb/software/Toolchain/pompi/2016.03/imkl/11.3.2.181/mkl/lib/intel64 -L/software/CentOS-6/eb/software/Toolchain/pompi/2016.03/imkl/11.3.2.181/lib  -o /dev/shm/HPL/2.1/pomkl-2016.03/hpl-2.1//bin/UNKNOWN/xhpl HPL_pddriver.o         HPL_pdinfo.o           HPL_pdtest.o /dev/shm/HPL/2.1/pomkl-2016.03/hpl-2.1//lib/UNKNOWN/libhpl.a  -Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_pgi_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic 
/software/CentOS-6/eb/software/Toolchain/GCCcore/4.9.3/binutils/2.25/bin/ld: /software/CentOS-6/eb/software/Toolchain/pompi/2016.03/imkl/11.3.2.181/mkl/lib/intel64/libmkl_core.a(mkl_memory_patched.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
//lib64/libdl.so.2: error adding symbols: DSO missing from command line

my workaround is ugly. There ought to be a better solution.

@hpcugentbot
Copy link
Copy Markdown

Automatic reply from Jenkins: Can I test this?

@boegel boegel added this to the v2.8.0 milestone Apr 15, 2016
@boegel
Copy link
Copy Markdown
Member

boegel commented May 2, 2016

Test report by @boegel
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in this PR)
node2523.golett.os - Linux centos linux 7.2.1511, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz, Python 2.7.5
See https://gist.github.com/d67ad5ce38fecdf92349d93d8356ad80 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented May 2, 2016

Test report by @boegel
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in this PR)
node2159.delcatty.os - Linux SL 6.7, Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz, Python 2.6.6
See https://gist.github.com/dff263264468de4834cbc4e095d8971d for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented May 11, 2016

Jenkins: ok to test

@hpcugentbot
Copy link
Copy Markdown

Easyconfigs unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-easyconfigs-pr-builder/7974/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
Copy link
Copy Markdown
Member

boegel commented May 11, 2016

Test report by @boegel
SUCCESS
Build succeeded for 5 out of 5 (5 easyconfigs in this PR)
node2159.delcatty.os - Linux SL 6.7, Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz, Python 2.6.6
See https://gist.github.com/7746f8cb41829e0431ac67b98bdec839 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented May 11, 2016

Test report by @boegel
SUCCESS
Build succeeded for 5 out of 5 (5 easyconfigs in this PR)
node2434.golett.os - Linux centos linux 7.2.1511, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz, Python 2.7.5
See https://gist.github.com/a429c80ce093b5732503a23781e7eacd for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented May 11, 2016

@Bart-VUB do you mind merging bartoldeman#3, mainly to trigger Travis testing this PR?

@hpcugentbot
Copy link
Copy Markdown

Easyconfigs unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyconfigs-pr-builder/7991/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 May 11, 2016

all good to go, thanks @bartoldeman!

@boegel boegel merged commit 277e516 into easybuilders:develop May 11, 2016
# needs to include -ldl or else we get
# .../libmkl_core.a(mkl_memory_patched.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
import os
os.environ['LIBS'] = '-ldl'
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.

ah, crap, only noticed this now...

this is a hack at best, no @bartoldeman?

it actually indicates that something is missing in the toolchain support somewhere?

@geimer is this the problem you mentioned during today's conf call?

@bartoldeman
Copy link
Copy Markdown
Contributor Author

Yes, as I mentioned during in the very first comment here, there ought to be a better way.
I'll manually compile HPL and see what happens.

@boegel
Copy link
Copy Markdown
Member

boegel commented May 11, 2016

@bartoldeman maybe we should define LIB_MATH = ['dl'] in toolchains/compiler/pgi.py, similar to what we do for Clang, cfr. https://github.com/hpcugent/easybuild-framework/blob/d9016c2e22a6b0c6eb3763251e8790fb4bdea85e/easybuild/toolchains/compiler/clang.py#L102.

This will be picked up by the toolchain mechanism and added to $LIBS, cfr. https://github.com/hpcugent/easybuild-framework/blob/master/easybuild/tools/toolchain/compiler.py#L216

@bartoldeman
Copy link
Copy Markdown
Contributor Author

I suspect it should be fixed in the MKL support for PGI.

@bartoldeman
Copy link
Copy Markdown
Contributor Author

The link line advisor says this:

-Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group -lpthread -lm -ldl

https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor

note this includes the -ldl. So it should be a change to intelmkl.py.

@bartoldeman
Copy link
Copy Markdown
Contributor Author

Link line advisor adds -ldl for MKL 11.0 and higher for all compilers (PGI, GCC, Intel), not for 10.3.

@bartoldeman
Copy link
Copy Markdown
Contributor Author

I need to leave soon but will have a further look tomorrow.

@geimer
Copy link
Copy Markdown
Contributor

geimer commented May 12, 2016

@boegel: My issue with PGI was different, see easybuilders/easybuild#217.

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