Default host compiler used by nvcc for linux

旧时模样 提交于 2019-11-29 10:23:29

问题


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?


回答1:


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.




回答2:


AFAIK it uses g++ (to be more precise it uses gcc with language set to c++) and of course g++ for final linking. Run nvcc with --verbose option to see more detail if you want.



来源:https://stackoverflow.com/questions/8317510/default-host-compiler-used-by-nvcc-for-linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!