Компиляция с использованием nvcc дает «Нет такого файла или каталога»

0

Я пытаюсь скомпилировать код CUDA, используя nvcc на Ubuntu. Однако, когда я это делаю, я получаю этот вывод:

> make
/usr/local/cuda/bin/nvcc -m64 --ptxas-options="-v" -gencode arch=compute_11,code=sm_11 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -o main main.cu
gcc: No such file or directory
make: *** [main] Error 1

Даже когда я пытаюсь скомпилировать файл только с основной функцией, он все равно не работает:

> /usr/local/cuda/bin/nvcc main.cu 
gcc: No such file or directory

nvcc, кажется, реагирует на --version, поэтому он определенно существует. Я не уверен, почему он ссылается на gcc.

Теги:
cuda
nvcc

1 ответ

5
Лучший ответ

nvcc не является компилятором сам по себе. Это "драйвер компилятора", организующий весь процесс компиляции кода устройства, кода хоста и связывания его вместе. В Linux он использует gcc для компиляции кода хоста.

Чтобы установить gcc на Ubuntu:

$ sudo apt-get --yes install build-essential

  • 2
    Компилятор gcc C ++ также необходим, build-essential получает только компилятор C и стандарт. Заголовки библиотеки.
  • 0
    @talonmies: я проверил пакет build-essential для Ubuntu 10.04, 12.04 и 13.10. На них он включает g ++ и libstdc ++.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню