2015-03-02 3 views
-1

Я пытаюсь скомпилировать некоторые образцы инструментария CUDA V6.5 в среде Nsight Eclipse версии 6.5 под centos 7.0.CUDA отсутствует host_defines.h centos 7

Моя карта Nvidia представляет собой Quadro K2000.

Так что моя проблема в том, когда я пытаюсь построить один из образцов (в инструментарии 6.5) CUDA: появляется следующее сообщение в консоли, и я не знаю, почему:

make all 
Building target: ex3 
Invoking: NVCC Linker 
/usr/bin/nvcc --cudart static -L/usr/include/cuda --relocatable-device-code=false -gencode arch=compute_20,code=compute_20 -gencode arch=compute_20,code=sm_20 -link -o "ex3" ./src/matrixMulCUBLAS.o -lcublas 
/usr/bin/crt/link.stub:2:26: erreur fatale: host_defines.h : Aucun fichier ou dossier de ce type 
#include "host_defines.h" 
         ^
compilation terminée. 
make: *** [ex3] Erreur 1 




17:17:30 Build Finished (took 57ms) 

Может кто-нибудь помочь Я пожалуйста ?

+1

Вы предоставили правильные каталоги включения в компилятор? Не является ли это '-L/usr/include/cuda'' -I/usr/include/cuda' –

+1

CUDA 6.5 не перечисляет CentOS 7 как [официально поддерживаемый дистрибутив/версия] (http: // docs. nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html#system-requirements). –

+0

Да, я поставил в проекте propertie проекта Nsight Eclipse in Build -> на вкладке «Параметры инструмента» для линкера NVCC librairie/usr/include/cuda, но он не работает лучше ... – cebaut

ответ

1

Спасибо за ваши быстрые комментарии я нашел проблему: Там было 2 места, где был NVCC ехе

/usr/local/cuda-6.5/bin/nvcc and/usr/bin/nvcc 

Итак, я сделал:

diff --side-by-side /usr/local/cuda-6.5/bin/nvcc /usr/bin/nvcc 

=> файлы были Дифференцем

Кроме того, в файле был создан файл nvcc.profile для позиционирования переменных окружения. И Nsight затмение environnment использует /usr/bin/nvcc затем Idid символической ссылки на 2 файла:

ln -s /usr/local/cuda-6.5/bin/nvcc nvcc 
ln -s /usr/local/cuda-6.5/bin/nvcc.profile nvcc.profile 

И теперь любой проект может построить и запустить

Однако решение не совсем хорошо (потому что символические ссылки)

И теперь я не нашел, как настроить мой проект в Eclipse, Nsight издание 6.5, чтобы использовать NVCC размещенный на месте /usr/local/cuda-6.5/bin/nvcc

Я ищу в свойствах, и я не знаю, где это сделать.

У кого-нибудь есть идеи? спасибо

+0

Просто добавьте исправление для моего решения: символическая ссылка «ln -s /usr/local/cuda-6.5/bin/nvcc.profile» nvcc.profile не работает. Во-первых, вам нужно скопировать файл /usr/local/cuda-6.5/bin/nvcc.profile в/usr/bin. Затем вы редактируете файл /usr/bin/nvcc.profile и заменяете «TOP = $ (_ ЗДЕСЬ _)/..» на «TOP =/usr/local/cuda-6.5/«И теперь, когда вы строите проект Cuda, все в порядке – cebaut

+1

Ничего из этого не должно быть необходимо. Возможно, вы используете этот путь, потому что вы не внесли соответствующие модификации в переменную среды« PATH »или следуете инструкциям в [ руководство по началу работы] (http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html#abstract). –

+0

Можете ли вы дать мне часть инструкции, которую вы думаете, что я я не прочитал все инструкции по началу работы, и я не нашел, где я могу найти свое решение ... – cebaut