J'essaie de compiler un programme de test cuda sur Windows 7 via une invite de commande, Je suis cette commande:
nvcc test.cu
Mais tout ce que j'ai, c'est cette erreur:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
Quelle peut être la cause de cette erreur?
Vous devrez ajouter le dossier contenant le fichier "cl.exe" à la variable d’environnement de votre chemin. Par exemple:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
Modifier : OK, allez dans Poste de travail -> Propriétés -> Paramètres système avancés -> Variables d’environnement. Ici, cherchez "CHEMIN" dans la liste, et ajoutez le chemin ci-dessus (ou l’emplacement de votre fichier cl.exe).
Résolvez ce problème en ajoutant ces options à nvcc
nvcc x.cu ... -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"
par exemple, mon compilateur est VS2012. et cl.exe est dans ce répertoire
cl.exe
est le compilateur C/C++ de Microsoft. Le problème est donc que vous n'avez pas installé où la ligne de commande peut le trouver.
nvcc n'est qu'une interface pour la partie du programme spécifique à CUDA. Il doit appeler un compilateur complet pour terminer le travail. Dans ce cas, le compilateur Visual Studio 'cl.exe' est introuvable.
Vérifiez les chemins, la documentation nvcc, etc.
Je vois qu'il s'agit d'une vieille question, mais j'ai récemment eu cette erreur sur mon Visual Studio 2012 lorsque j'ai essayé de construire mon projet CUDA. Apparemment, j'avais changé mon projet CUDA pour le pack de novembre 2012, pour le ramener à la v110, qui est généralement corrigé par défaut de cette erreur.
Dans Visual Studio, cliquez avec le bouton gauche de la souris sur le projet CUDA, -> propriétés -> Propriétés de configuration-> Général -> jeu d'outils Plate-forme, puis choisissez: Visual Studio 2012 (v110).
Je pourrais probablement le faire fonctionner avec le pack de novembre 2012, mais le code CUDA n'utilise aucune des fonctions supplémentaires de ce pack, donc ce n'est pas nécessaire. (Ce pack contient les modèles variadiques pour C++ 11.)