nvcc on Linux using non GCC C/C++
I was wondering if Nvidia supports or plans to support nvcc on Linux based on [b]non[/b] GCC C/C++ compilers?

Ideally one would like to use a good compiler + optimized libraries / MPI for a particular platform and then augment their code with CUDA for GPU enabled platforms. For instance the Intel compiler set does much better job on Westmere/Nehalem than the stock GCC compiler. Another nuisance is the MPI layer which would also need to be built with the GCC compiler for underlying CUDA enabled MPI code.

Is there any semi-official or unsupported way to invoke Intel icc/icpc instead of gcc?

Thanks ... dT
I was wondering if Nvidia supports or plans to support nvcc on Linux based on non GCC C/C++ compilers?



Ideally one would like to use a good compiler + optimized libraries / MPI for a particular platform and then augment their code with CUDA for GPU enabled platforms. For instance the Intel compiler set does much better job on Westmere/Nehalem than the stock GCC compiler. Another nuisance is the MPI layer which would also need to be built with the GCC compiler for underlying CUDA enabled MPI code.



Is there any semi-official or unsupported way to invoke Intel icc/icpc instead of gcc?



Thanks ... dT

#1
Posted 07/14/2011 11:15 PM   
You can link GCC- and ICC-compiler code. So you should be able to compile the CUDA parts of the program with GCC (through nvcc) and CPU only parts with ICC.
You can link GCC- and ICC-compiler code. So you should be able to compile the CUDA parts of the program with GCC (through nvcc) and CPU only parts with ICC.

Always check return codes of CUDA calls for errors. Do not use __syncthreads() in conditional code unless the condition is guaranteed to evaluate identically for all threads of each block. Run your program under cuda-memcheck to detect stray memory accesses. If your kernel dies for larger problem sizes, it might exceed the runtime limit and trigger the watchdog timer.

#2
Posted 07/14/2011 11:35 PM   
[quote name='tera' date='14 July 2011 - 05:35 PM' timestamp='1310686523' post='1265262']
You can link GCC- and ICC-compiler code. So you should be able to compile the CUDA parts of the program with GCC (through nvcc) and CPU only parts with ICC.
[/quote]

It would be most useful to allow people to chose the C/C++ compiler nvcc can use to compile the .c parts of the entire workflow as long as the compiler is ANSI C compliant. I am just hoping for this to to happen sooner than later.

thanks for the reply
Michael
[quote name='tera' date='14 July 2011 - 05:35 PM' timestamp='1310686523' post='1265262']

You can link GCC- and ICC-compiler code. So you should be able to compile the CUDA parts of the program with GCC (through nvcc) and CPU only parts with ICC.





It would be most useful to allow people to chose the C/C++ compiler nvcc can use to compile the .c parts of the entire workflow as long as the compiler is ANSI C compliant. I am just hoping for this to to happen sooner than later.



thanks for the reply

Michael

#3
Posted 07/21/2011 10:05 PM   
Scroll To Top