Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Default host compiler used by nvcc for linux

I am using CUDA 4.0 on Ubuntu 10.10 with GTX 570 (compute capcability 2.0), with the GCC compiler suite. As I understand it, during compilation the CUDA compiler driver nvcc splits the .cu files into host code and device code and calls the host compiler to compile the host code and compiles the device code separately. Finally it merges the generated host object code and the device PTX code into a single executable.

For Linux systems what is the default compiler that is invoked for compiling the host code? Is it the C compiler (gcc) or the C++ compiler (g++) of the GCC suite?

like image 438
smilingbuddha Avatar asked Nov 30 '22 07:11

smilingbuddha


1 Answers

You want the -ccbin option for nvcc, e.g. to use icpc (the Intel C++ compiler), use nvcc -ccbin=icpc (assuming the icpc is available in your $PATH).

Note that you should always pass a C++ compiler (g++, icpc, etc.), since nvcc treats the code as C++, even when it's C code.

like image 63
Kenneth Hoste Avatar answered Dec 04 '22 11:12

Kenneth Hoste