Hôte par défaut du compilateur utilisé par les nvcc pour linux
Je suis en utilisant CUDA 4.0 sur Ubuntu 10.10 avec la GTX 570 (calcul capcability 2.0), avec le compilateur GCC suite. Si je comprends bien, lors de la compilation, le compilateur CUDA driver nvcc divise le .cu
fichiers de l'hôte de code et de code de l'appareil et les appels de l'hôte compilateur pour compiler le code hôte et compile le code de l'appareil séparément. Enfin, il fusionne les générées hôte de code objet et l'appareil PTX code dans un seul fichier exécutable.
Pour les systèmes Linux qu'est-ce que le compilateur par défaut qui est appelé pour compiler le code hôte? Est-il
le compilateur C (gcc
) ou le compilateur C++ ( g++
) de la GCC suite?
CC
variable d'environnement (comme make
le fait habituellement)?Et vous pouvez
strace
programmes (même pour les propriétaires comme nvcc
) pour comprendre les syscalls (et des programmes externes) qu'ils utilisent.Avec le drapeau du mode verbeux (-v) les nvcc va vider toutes les commandes exécutées lors de la compilation. Donc, il va vous montrer si gcc ou g++ est invoquée.
OriginalL'auteur smilingbuddha | 2011-11-29
Vous devez vous connecter pour publier un commentaire.
Vous voulez le
-ccbin
option pournvcc
, par exemple, utilisation d'icpc
(Intel C++ compiler), l'utilisationnvcc -ccbin=icpc
(en supposant que leicpc
est disponible dans votre$PATH
).Notez que vous devez toujours passer un compilateur C++ (
g++
,icpc
, etc.), depuisnvcc
traite le code C++, même quand c'est du code C.cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C [enabled by default]
messages après la compilation de certains CUDA sources.OriginalL'auteur Kenneth Hoste
Autant que je sache, il utilise
g++
(pour être plus précis, il utilisegcc
avec le langage c++) et bien sûrg++
pour la finale de la liaison. Exécuternvcc
avec--verbose
option pour voir plus en détail si vous le souhaitez.OriginalL'auteur saeedn