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

add impmkl toolchain definition #736

Merged
merged 2 commits into from Nov 5, 2013
Merged

Conversation

boegel
Copy link
Member

@boegel boegel commented Oct 24, 2013

No description provided.

from easybuild.toolchains.linalg.intelmkl import IntelMKL


class Impmkl(IntelIccIfort, Mpich2, IntelMKL):
Copy link
Member Author

Choose a reason for hiding this comment

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

IntelFFTW should be included in here too

It was left out when this was needed during the hackathon, because @ocaisa was tapping into the Intel compilers/MKL and MPICH of his system, rather than installations provided via EasyBuild.

It wasn't clear whether the Intel FFTW wrappers were there, and we didn't want to lose time on that. @ocaisa is already looking into whether the FFTW wrapper libs are there, and how to obtain them if they're not there, so impmkl really should include them (just like they are in iomkl).

@boegel
Copy link
Member Author

boegel commented Nov 4, 2013

@ocaisa: Did you get the FFTW part of your impmkl toolchain to work?

@ocaisa
Copy link
Member

ocaisa commented Nov 4, 2013

No, as you suspected the bindings for all the FFTW routines weren't there. I decided to install compilers from scratch but the licence file I gave doesn't seem to be found after the install (it's actually a licence server). I was going to ask about it tomorrow.
I did try to add explicit FFTW support like in the iiqmpi but it didn't like that...I was going to ask about it tomorrow too!

@boegel
Copy link
Member Author

boegel commented Nov 4, 2013

@ocaisa: I'm not sure if the conf call will provide much time for discussing problems like this, maybe it's better to try and resolve them outside of the biweekly conf call (e.g. in this issue, via mail, or in a dedicated (short) conf call).

How did you specify the license file during installation? Is there any license file setting in the generated modules?

What do you mean exactly with add explicit FFTW support like in iiqmpi? Do mean you mean adding IntelFFTW in the impmkl class definition?
You're right that it should be there, but then eb will also check that the FFTW wrappers are there (which is why I didn't include it in the original PR). When IntelFFTW is included (which is exactly what I'll be doing in this PR in a minute), the FFTW wrappers have to be there, otherwise the toolchain isn't useable; EasyBuild will assume it's broken/incomplete (which it is ;-)).

@ocaisa
Copy link
Member

ocaisa commented Nov 4, 2013

I gave the licence file that was given to me and there is a setting in the module file. After the module was created I wanted the licence to be provided the same way that it is provided to the system installed Intel compiler so I modified the module to forget the .lic file and just query the licence servers through $LM_LICENSE_FILE.

The specific error that occurs during the MKL install is:

== postprocessing...
ERROR: EasyBuild encountered an exception (at easybuild/lib/python2.6/site-packages/easybuild_framework-1.9.0dev-py2.6.egg/easybuild/main.py:843 in build_and_install_software): autoBuild Failed (last 300 chars): rt/ if you require technical assistance.

icc: error #10052: could not checkout FLEXlm license
make[1]: *** [/tmp/tmpZ04BWO/obj_double_intel/fftw.o] Error 1
make[1]: Leaving directory `/homeb/zam/ocaisa/.local/easybuild/software/imkl/11.0.5.192/mkl/interfaces/fftw2xc'
make: *** [libintel64] Error 2

I've since narrowed things down...for some reason once the MKL install creates a temporary directory (~/intel) for its install, the compilers can no longer reach the licence servers. This crashs the MKL install and the directory as above and since the directory gets left behind after the crash, the compilers can no longer checkout a licence. I think I need to provide the licence servers directly to the install, I just need to figure out how!

I see this is related to #535

@fgeorgatos
Copy link
Collaborator

Hi,

@ocaisa: I have seen the intel kit breaking left and right under different circumstances, eg:
#518 (comment) or,
easybuilders/easybuild-easyblocks#103 or,
easybuilders/easybuild-easyconfigs#382

Remember to invoke icc --version, to verify that the basic functionality is there.

To make your life easier, just run the following two experiments for confirmation:

  • telnet HOSTNAME PORT # see if the server actually responds; this implies TCP connection is doable
  • replace the .lic file with the one form the server ; YES, the server # if it starts working now, it's one more Intel bug!!
    if the above two steps do not reveal information, you may be hitting something new and interesting... :)

@boegel
Copy link
Member Author

boegel commented Nov 5, 2013

@ocaisa: Let's follow this up in easybuilders/easybuild-easyblocks#292, since I'd like to merge in this PR, which is kind of unrelated (since it simply adds a (correct) toolchain definition).

@fgeorgatos: Can you readd your comment there?

boegel added a commit that referenced this pull request Nov 5, 2013
add impmkl toolchain definition
@boegel boegel merged commit 34b62b9 into easybuilders:develop Nov 5, 2013
@boegel boegel deleted the impmkl branch November 5, 2013 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants