Hi folks,
I was wondering if we can use the Intel C++ Compiler as the host compiler when compiling a ‘mixed’ project where I have C++ code that calls my Cuda kernels as and when required.
I have currently downloaded the Intel Parallel studio evaluation version which gave me the Intel Compiler v 11.1.061.
For projects without Cuda code, I can simply choose the Intel Compiler for a particular project and it all just works.
But for my project with the Cuda code I get compile time errors -
Performing Custom Build Step (Microsoft VC++ Environment)
1>nvcc fatal : nvcc cannot find a supported cl version. Only MSVC 8.0 and MSVC 9.0 are supported
The nvcc doc on page 15 (for v 2.1) states that we can use the -ccbin option to - “Specify the directory in which the host
compiler executable (Microsoft Visual Studion cl, or a gcc derivative) resides. By default, this executable is expected in the current executable search path.”
Should I conclude that the Intel Compiler is NOT a gcc derivative?
I have posted a similar post on the Intel compiler forum as well, but I have not yet received a reply.
If someone can tell me that this is NOT going to work, I will stop trying. So I will sincerely appreciate a reply. External Image
Interesting. I did not try that.
I actually went in and changed the -ccbin option in the build rule on the cuda files to use the Intel Compiler. This is what I changed it to -
“$(CUDA_BIN_PATH)\nvcc.exe” -ccbin “$(ICInstallDir)\bin\ia32” -arch sm_11 -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -I./ -I…/…/common/inc -I…/Include -o $(ConfigurationName)\CudaFile.obj src\CudaFile.cu
Just changing the intel compiler to the microsoft compiler gets it going. The rule that works is as follows -
“$(CUDA_BIN_PATH)\nvcc.exe” -ccbin “$(VCInstallDir)\bin” -arch sm_11 -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -I./ -I…/…/common/inc -I…/Include -o $(ConfigurationName)\CudaFile.obj src\CudaFile.cu