We’ve recently received questions from several of you about how to make use of the new ICC 11.1 support in CUDA Toolkit 3.2 for Linux x64. Here’s how you do it:
Also, if you use the math.h from ICC, you’ll likely need to apply a patch to it in order to clear up errors of the following form:
/opt/intel/Compiler/11.1/064/include/math.h(235): error: omission of exception specification is incompatible with previous function "__isinff"
/usr/local/cuda/bin/../include/math_functions.h(400): here
The necessary patch is included in the src/ directory of the CUDA Toolkit 3.2 installation, and directions for how to apply it are included in the CUDA Toolkit Release Notes.
We faced the same issue & followed the Release Notes, which tells to apply a patch icc_math.h.diff to math.h
However, We can’t find the .diff file at $CUDA_PATH/cuda/src/icc_math.h.diff as mentioned in the Release notes.
We tried icc 12 as well, but it failed complaining only icc 11.1 is supported…
/opt/cuda/bin/…/include/host_config.h(108): catastrophic error: #error directive: – unsupported ICC configuration! Only ICC 11.1 on Linux x86_64 is supported!
#error – unsupported ICC configuration! Only ICC 11.1 on Linux x86_64 is supported!
The math.h.diff should be in the src/ directory of the toolkit installation for Linux. If it’s not there for you, I’ll have to see why it might have been omitted. (Given the error message you quoted below, I assume this is Linux we’re talking about, right? I don’t think we packaged the file with the non-Linux builds of the toolkit.) Which distro did you download the Toolkit package for? And this is CUDA Toolkit 3.2, right?
ICC 12 wasn’t out yet when CUDA Toolkit 3.2 was being finalized, as I recall. You can probably just change the #if test in the header file that triggers that #error you’re seeing, and it will probably work fine – we simply haven’t QA’ed it against that combination.