ICC (intel compiler) compatibilities

Hi,

Actually, I work on an integration CUDA algorithm inside a TBB project. Currently, CUDA 3.2 are installed with ICC 12.0. NVCC return this error " unsupported ICC configuration! Only ICC 11.1 on Linux x86_64 is supported!" when I compile my project. There is no way with this configuration that I suppose. Could it be the solution if I install CUDA 4.0? I check in the release Notes files without found something about ICC compatibility.

P.S.: I cannot downgrade or upgrade the ICC version.

Edit the header file that contains the check ( don’t remember exactly which one, just grep "unsupported ICC configuration " in /usr/local/cuda/include) to relax the check. It will works just fine.

Thank! It’s work now!

Finally. I got thoses errors with the standard library and it’s look like that:

#$ "/opt/intel/composerxe/bin"/icc -D__CUDA_ARCH__=200 -E -x c++  -DCUDA_DOUBLE_MATH_FUNCTIONS  "-I/usr/local/cuda/bin/../include" "-I/usr/local/cuda/bin/../include/cudart"   -I. -D__CUDACC__ -C  -I"/usr/local/cuda/include" -I"/home/leonard/workspace/DVBS2_Tx_IntelThreading/GPUFct" -I"/home/leonard/NVIDIA_GPU_Computing_SDK/shared/inc" -I"/home/leonard/NVIDIA_GPU_Computing_SDK/C/common/inc/GL" -I"/home/leonard/NVIDIA_GPU_Computing_SDK/C/common/inc/cudpp" -I"/home/leonard/NVIDIA_GPU_Computing_SDK/C/common/inc/dynlink" -I"/home/leonard/NVIDIA_GPU_Computing_SDK/C/common/inc" -I"/usr/local/cuda/include/CL" -I"/usr/local/cuda/include/crt" -I"/usr/include/gsl" -I"/home/leonard/workspace/fecEncoderDecoder" -include "cuda_runtime.h" -m64 -g -o "/tmp/tmpxft_000055b3_00000000-3_wrapper_kernel_gpu.cpp1.ii" "../GPUFct/wrapper_kernel_gpu.cu" 

#$ cudafe --m64 -tused --no_remove_unneeded_entities --no_debug_inlining  --gen_c_file_name "/tmp/tmpxft_000055b3_00000000-0_wrapper_kernel_gpu.cudafe1.c" --stub_file_name "/tmp/tmpxft_000055b3_00000000-0_wrapper_kernel_gpu.cudafe1.stub.c" --gen_device_file_name "/tmp/tmpxft_000055b3_00000000-0_wrapper_kernel_gpu.cudafe1.gpu" --include_file_name "/tmp/tmpxft_000055b3_00000000-2_wrapper_kernel_gpu.fatbin.c" "/tmp/tmpxft_000055b3_00000000-3_wrapper_kernel_gpu.cpp1.ii" 

/usr/include/c++/4.4.5/bits/cpp_type_traits.h(69): error: expected a "{"

/usr/include/c++/4.4.5/bits/cpp_type_traits.h(76): error: expected a "{"

/usr/include/c++/4.4.5/bits/cpp_type_traits.h(310): error: name followed by "::" must be a class or namespace name

/usr/include/c++/4.4.5/bits/cpp_type_traits.h(310): error: too many arguments for class template "<error>::__is_normal_iterator"

/usr/include/c++/4.4.5/ext/type_traits.h(37): error: expected a "{"

/usr/include/c++/4.4.5/ext/type_traits.h(64): error: namespace "std" has no member "__is_integer"

Can someone help me?? I already tried to apply icc_math.h.diff to /opt/intel/composerxe/include/math.h without success. Patch programm return 16 errors.

On CUDA 4.0 it works:

$ which icc
/share/apps/intel/composer_xe_2011_sp1.6.233/bin/intel64/icc

$ nvcc -ccbin=icc -arch sm_20 exp_test.cu
icc: command line warning #10006: ignoring unknown option ‘-fpreprocessed’

$./a.out
-0.667769740

I confirm it.

Sir_Underground,
Nice Name!