Какая версия CUDA для VS2017 и GTX 870M? - PullRequest
0 голосов
/ 11 сентября 2018

Я хочу разработать программу с использованием CUDA, но теряюсь из-за инструкций по установке на сайте NVidia .

Итак, вот что у меня есть:

  • Ноутбук с Windows 10 и графическим процессором NVidia GeForce GTX 870M (обновлены как ОС, так и драйвер графического процессора)
  • Visual Studio 2017, версия 15.8 (также в актуальном состоянии) _MS_VER = 1915

На этой веб-странице я обнаружил, что мой графический процессор поддерживает CUDA (хорошие новости) с "Compute способность" 3.0. Что это значит?

Я знаю, что версии CUDA чувствительны к используемой версии Visual Studio, поэтому мой вопрос прост:

  • какую версию CUDA я должен загрузить и установить? и могу ли я создавать и запускать программы с моей версией Visual Studio?

1 Ответ

0 голосов
/ 11 сентября 2018

Насколько я знаю, ни одна версия CUDA Toolkit в настоящее время не поддерживает Visual Studio 15.8. Последняя версия CUDA 9.2 предположительно поддерживает до Visual Studio 15.6. Обратите внимание, что проблема поддержки Visual Studio действительно касается только компилятора NVCC и интеграции Visual Studio. Ничто не мешает вам, например, использовать API драйвера CUDA с любым компилятором, в который вы хотите (включая последнюю версию VS).

Раньше одним из способов решения этих проблем было размещение кода CUDA в отдельной статической библиотеке, сборка его с помощью компиляторов VS 2015 и привязка его к основному проекту, который можно построить с использованием VS 2017.

Убедитесь, что вы выбрали VC++ 2015.3 v14.00 (v140) toolset for desktop пакет в установщике Visual Studio:

visual studio installer

Затем можно переключить набор инструментов для использования в каждом проекте в «Свойствах проекта»> «Общие»:

enter image description here

К сожалению, недавно я столкнулся с некоторыми проблемами при связывании двоичных файлов, созданных с VS 2015, с двоичными файлами, созданными с помощью компиляторов VS 2017 15.8, так что путь может больше не работать (казалось, что это связано с новой «Just My Code Debugging» особенность). Но с другой стороны, двоичная совместимость между версиями компилятора никогда не была чем-то, на что можно было бы положиться в первую очередь

Другим решением было бы понизить версию Visual Studio до 15,6.


Вычислительные возможности устройства в основном говорят о том, с каким поколением архитектуры графического процессора вы работаете, и на какие функции вы можете положиться. Или словами Руководство по программированию CUDA :

Вычислительные возможности устройства представлены номером версии, также называемой иногда его «версией SM». Этот номер версии идентифицирует функции, поддерживаемые аппаратным обеспечением графического процессора, и используется приложениями во время выполнения, чтобы определить, какие аппаратные функции и / или инструкции доступны на текущем графическом процессоре.

Более подробную информацию об отдельных вычислительных возможностях / архитектурах можно найти, например, здесь .

...