-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Failed to compile with Intel compilers #8294
Comments
Which version of Julia did you try to compile? Can you provide the command you used to compile (along with Make.user or other modifications)? |
I had some extra compile flags setup from compiling a previous program that might have been the issue. I am now re-compiling without those to see if that is the issue. I did:
and then I just typed in I also ran
|
This is supported and @ViralBShah recently did a bunch of work to make sure it was, so please do let us know of that does or doesn't fix things. Thanks for filing the issue. |
Ran into a different error this time:
|
I will try this out. What version of the compilers and MKL are you using? |
I assume that the second time you started with a fresh clone. If not, could you do so? |
Yes with a fresh clone. I have |
Any news? |
I have bigger problems now, which had not happened before:
|
A C++0x or C++11 switch was added somewhere not that long ago, I think with Keno's LLDB or libc++ work. We're going to need to do CI with the Intel compilers somehow if we want to avoid breaking support for them. |
This fixed it. I think the machine got upgraded. But yes, in general, we probably want CI. http://stackoverflow.com/questions/19660431/cannot-open-source-file-bits-cconfig-h-error-with-icpc |
I can confirm that everything builds with icc 14.0.1. |
With icc 12.1.3, i get an Rmath error
|
My icc 12 error looks like https://software.intel.com/en-us/articles/floating-point-operation-result-out-of-range-in-static-initialization Tried compiling w/ icc 13.1.1, and saw similar error as @bdeonovic, which superficially appeared to originate from Tried icc 14.0.1, and got julia to compile, but
|
I am also not able to build using icc 15.0.0 20140716, but seem to have gotten not nearly as far as @bdeonovic. My OS/CPU details are: I cloned this morning's version Then I used these two lines in the bash shell: Then I made a Make.user file with the following lines Then I finally entered The result was |
What happens with |
Thanks for the fast response! With both USE_LIBCPP=0 and USEIFC = 0, I was able to build. But with the Make.user file switched to
then I get the following:
|
Also, after I successfully built with USE_LIBCPP=0 and USEIFC = 0, I noticed that the FFT speed was not comparable to Matlab: Matlab appears to be using all the cores on my machine while Julia does not. It is encouraging, though, that while all 8 threads were lit up in the Matlab test and only 1 was for the identical Julia script, Julia was only ~1.35x slower. |
I assume that the FFT issue is not connected to Intel compilers - at least the threading part. Could you file a separate issue for that? Using all threads may be even better! |
I will try to get ICC 15. |
I got a little carried away fixing the openspecfun error, and ending up converting the amos fortran code to julia. |
👏 |
Nice! The fewer Fortran dependencies we have the better. PR soon? |
Woah, cool. How's the performance? |
@nolta That is super cool. When can we transition? :-) openspecfun still has Faddeeva and rem_pio2 bits, which could easily be translated too, I am guessing. |
Performance isn't great, unfortunately -- fortran is about 2.8x faster. Not sure if that's my fault or julia's. |
This is a very useful performance test to have. |
Ok, we're now down to 1.2x fortran. |
Wow. I think this wins the "best usecase for |
Not making it a total hassle to translate code like this is a very good reason to have gotos. |
And actually hey while we're at it, does anything in base actually depend on special functions? Or would this be a good opportunity to delete something from base and have its replacement live in a package instead? Except for the load times... |
LAPACK next, anyone? ;-) |
I'm in favor of moving the specfuns out of Base. |
Perhaps we should have a new issue for that. It should probably be done as part of a larger discussion on a minimal base. |
Just to keep this compile-with-intel issue alive, using |
I believe we've fixed the openspecfun problem from #8294 (comment) - set |
Setting USE_LIBCPP = 0 in Make.user does not seem to change the error message. My Make.user file now looks like but I get the same message Should I actually go into the Make.inc file to make changes? |
We may have the logic wrong somewhere. Or you may need to use |
How easy would it be to add an icc target to Travis? |
You'll have to ask Travis that. Or maybe someone at Intel. I'm assuming there isn't exactly a downloadable tarball option for the whole Intel toolchain, last time I remember setting it up on Linux it was a non-trivial installation process. What would be much more tractable would be installing icc, ifort and mkl on one (or two) of Elliot's buildbot VM's. With JuliaCI/julia-buildbot#1 we could even try to make it send github statuses for commits to master at least. |
I think we can make our own tarball, so long as we use our license. |
Generally I thought the compilers themselves are not going to be redistributable, only the libraries. |
I thought that as a licensed user, we can install the compiler on any machine of our choice. The licenses are per developer, and so long as we have a valid license, we can have a tarball that puts the compiler in /opt along with the license, and then uses it in the travis run. |
If that's how the license works, then I guess it's worth trying. But presumably we'd need to upload the tarball somewhere private and access-controlled rather than publicly visible to the entire internet, and use a secure key on Travis to download the file. |
This is my interpretation, of course. Would love to hear what others have to say. |
With intel 15.0.2 all the tests pass (on centos6). |
Maybe we just make 15 the minimum release we support. |
Recommend using v15 or greater. Older versions either fail to build or fail the test suite. closes JuliaLang#8294 closes JuliaLang#9656 closes JuliaLang#10181
Recommend using v15 or greater. Older versions either fail to build or fail the test suite. closes JuliaLang#8294 closes JuliaLang#9656 closes JuliaLang#10181
Tried compiling with intel MKL and intel compilers (not sure if issue has to do with those though). Make errored out with this:
The text was updated successfully, but these errors were encountered: