For the scientific community the use of Intel C and Fortran compilers is very commom, and this is my case. But trying to mix Intel Compilers and nvcc is hard. Is there any plan to support Intel Compilers inside NVidia tools ?
I had similar issues back when I used CUDA, due to nvcc not supporting the latest GCC version at the time. In the end I just completely separately by host and device code into separate files, and compiled the host code directly with GCC and the device code with nvcc. I think that did mean that I had to use the lower-level driver interface to dispatch kernels.
You can put your CUDA code/wrappers in a .lib file and compile it with MS compiler
and NVCC and staticaly link to this .lib from an .exe compiled with Intel compiler.
According to the CUDA 5.0 release notes, the Intel compiler is supported on 64-bit Linux platforms:
** The CUDA development environment relies on tight integration with the host development environment, including the host compiler and C runtime libraries, and is therefore only supported on distribution versions that have been qualified for this CUDA Toolkit release. ** Distributions Currently Supported Distribution 32 64 Kernel GCC GLIBC ----------------- -- -- --------------------- ---------- ------------- Fedora 16 X X 3.1.0-7.fc16 4.6.2 2.14.90 ICC Compiler 12.1 X OpenSUSE 12.1 X 3.1.0-1.2-desktop 4.6.2 2.14.1 Red Hat RHEL 6.x X 2.6.32-131.0.15.el6 4.4.5 2.12 Red Hat RHEL 5.5+ X 2.6.18-238.el5 4.1.2 2.5 SUSE SLES 11 SP2 X 3.0.13-0.27-pae 4.3.4 2.11.3 SUSE SLES 11.1 X X 220.127.116.11-0.7-pae 4.3.4 2.11.1 Ubuntu 11.10 X X 3.0.0-19-generic-pae 4.6.1 2.13 Ubuntu 10.04 X X 2.6.35-23-generic 4.4.5 2.12.1
OK, thanks for the ideas ! Creating libs or dlls with CUDA and MS C is a plausible solution. Any way, the support of ICC 12.x for 64 bits in Linux is a good news…