2016-11-14 3 views
4

CUDA имеет функции cudaRuntimeGetVersion() и cudaDriverGetVersion() (см. Подробное описание here). Я как-то расходовал первый, чтобы дать мне «8.0» (для CUDA 8.0), а второй, чтобы дать мне ту же строку, что и я, от изучения модуля ядра драйвера NVIDIA, например.В чем разница между версией исполнения CUDA и версией драйвера CUDA?

modinfo nvidia | grep "^version:" | sed 's/^version: *//;' 

который на моей системе является 367.57. Теперь первый звонок дает мне 8000 - отлично, просто странный способ сказать 8.0. но второй вызов API также дает мне 8000. Итак, что они означают? То есть, CUDA не состоит из независимых пакетов «runtime» и «driver», верно?

Документация API Runtime, с которой я связан, не объясняет это.

ответ

4

Версия исполнения CUDA указывает совместимость CUDA (то есть версию) относительно установленной библиотеки времени cudart (CUDA runtime).

Версия драйвера CUDA (как сообщается здесь) сообщает о том же информации относительно водителя.

Это относится к модели совместимости драйверов в CUDA. Как я уверен, вы знаете, конкретную версию инструментария CUDA (то есть версию библиотеки времени исполнения CUDA, версию компилятора nvcc и т. Д.) requires a particular minimum driver level for proper use кодов, составленных с помощью этого инструментария.

Версия драйвера CUDA (как указано здесь) эффективно сообщает , что версия CUDA может поддерживаться конкретным установленным драйвером.

Как вы уже обнаружили, он не сообщает о фактической нумерованной версии драйвера.

+0

(вздох) Я понял. Итак, я могу обвинить запутанные имена, тогда ... Спасибо. Вы дали мне немного работы, чтобы сделать это [https://github.com/eyalroz/cuda-api-wrappers). – einpoklum

+0

Кроме того, как именно я интерпретирую 8000? Являются ли три младшие десятичные цифры одним «младшим номером версии», или это что-то вроде 8.0.0 или 8.0.0.0? В конце концов, релиз CUDA 8.0 был назван 8.0.44 в последний раз, когда я загрузился. – einpoklum

+1

Изучите образец кода 'deviceQuery' cuda для интерпретационных подсказок. Здесь нет суб-версий. 8000 = CUDA 8 –

Смежные вопросы