2016-06-20 2 views
0

Я пытаюсь использовать динамический параллелизм с CUDA, но я не могу пройти этап компиляции.Сбой компиляции/выполнения ошибок Код CUDA с динамическим параллелизмом

Я работаю над графическим процессором Compute Capability 3.5 и CUDA версии 7.5.

В зависимости от переключателей в команде компиляции я использую, я получаю различные сообщения об ошибках, но с использованием documentation,

  • Я приехал в одну линии, ведущей к успешной компиляции:

    nvcc -arch=compute_35 -rdc=true cudaDynamic.cu -o cudaDynamic.out -lcudadevrt 
    

    Но когда программа запущена, вся программа выходит из строя. С CUDA-MemCheck, для каждого вызова функции API, я получаю ту же ошибку сообщение:

    ========= CUDA-MEMCHECK 
    ========= Program hit cudaErrorUnknown (error 30) due to "unknown error" on CUDA API call to ... 
    
  • Я также попробовал эту линию (взятую из CUDA динамических проб Makefile):

    nvcc -ccbin g++ -I../../common/inc -m64 -dc -gencode arch=compute_35,code=compute_35 -o cudaDynamic.out -c cudaDynamic.cu 
    

    Но при исполнении, я получаю:

    cudaDynamic.out: Permission denied 
    

Я бы л ike, чтобы понять, как правильно компилировать динамический код CUDA, потому что все другие строки компиляции, которые я пробовал до сих пор, потерпели неудачу.

+0

Просто потому, что код не работает при запуске, это не означает, что ваша компиляционная строка неверна. В общем, ваша командная строка выглядит правильно. Ваша ошибка может быть какой-то проблемой с вашим кодом. Вы уверены, что CUDA установлен правильно на вашем компьютере? Правильно ли выполняются другие коды CUDA (например, образцы CUDA)? Если это в Windows, возможно, вы используете тайм-аут WDDM? В вашем вопросе недостаточно информации для диагностики того, что на самом деле неправильно. –

+0

CUDA был правильно установлен на машине: я долгое время работал над нединамическим CUDA. Я бегу по Ubuntu. Я попытался скомпилировать образец cdpSimplePrint, но я получил следующую ошибку: make:/usr/local/cuda/bin/nvcc: Команда не найдена Makefile: 196: рецепт цели 'cdpSimplePrint.o' не выполнен сделать: *** [cdpSimplePrint.o] Ошибка 127 – VincentN

+0

Каков результат запуска 'which nvcc' на вашем компьютере? –

ответ

0

Я исправил проблему, полностью переустановив CUDA.

Теперь я могу скомпилировать образцы CUDA и собственный код.