Можно ли запустить несколько версий CUDA в Windows?

#cuda #pytorch #nvidia #torchvision

Вопрос:

Я провожу эксперимент по проекту рентгенографии грудной клетки. и я хочу несколько версий инструментария CUDA, но проблема в том, что в моей системе появилась последняя версия, которую я установил, наконец. Можно ли запустить любой из CUDA, например 9.0, 10.2, 11.0, как требуется для кода GitHub?

Я выполнил все начальные шаги, такие как путь, добавленный в переменную среды, и добавил CUDNN, скопированный файл и добавленный в среду. Теперь проблема в том, что я хочу использовать Cuda 9.0 в соответствии с моим кодом, но моя настройка по умолчанию ставит cuda.11.0. каково решение или сценарий для легкого переключения между этими версиями

Комментарии:

1. вы можете запускать несколько версий CUDA в Windows. Если вы установите последнюю версию драйвера для своего графического процессора, он будет поддерживать любую выбранную вами последнюю версию CUDA. Нет необходимости менять драйверы. Наборы инструментов CUDA устанавливаются в разных местах, чтобы они могли работать бок о бок. Однако вам нужно будет соответствующим образом изменить пути и выбрать версии для использования в VS соответствующим образом. И одно приложение (скомпилированный исполняемый файл) не может одновременно использовать две разные версии CUDA, но я не думаю, что вы об этом спрашиваете. Два разных приложения могут использовать две разные версии CUDA.

2. Спасибо за ваш ответ, я знаю, и я много ищу, чтобы иметь несколько CUDA, и я также добавил путь, и у меня тоже есть драйверы. Теперь я хочу использовать cuda 9.0 и не хочу использовать другие 10 или 11 cuda. У меня есть драйверы всех версий, и я установил каждую из них. Позвольте мне исправить, если я хочу использовать cuda 9, следует ли устанавливать эту совместимую версию драйвера cuda 9? или установите последнюю версию>?

3. Последний драйвер будет правильно работать с CUDA 9.

4. Но nvidia-smi поставил CUDA 10.2, а мой код поставил 11.0, и я хочу CUDA 9.0.

Ответ №1:

Вы можете правильно установить CUDA_PATH_V9_0, CUDA_PATH_V10_0 и т. Д., А затем установить CUDA_PATH для любого из них (например, CUDA_PATH=C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0).

Затем в проекте VS задайте путь к библиотеке cuda, используя путь CUDA_PATH (например, $CUDA_PATHlib).

Чтобы переключиться, просто установите CUDA_PATH на другую версию и очистите и перестройте свои проекты VS.

Комментарии:

1. Ответ не был удовлетворительным. Я уже упоминал, что добавил пути в системную переменную и в виртуальную переменную тоже. Проблема в том, чтобы использовать другую версию CUDA. Теперь у меня есть 9, 10 и 11 cuda, и мне нужен старый, и я установил последний драйвер cuda cuda 11. Итак, должен ли я использовать драйвер более старой версии cuda 9 и снова установить его, чтобы перейти на cuda 9 по умолчанию, или просто изменить путь VS project cuda, приведите мне пример, где я должен изменить код VS во время кода.

2. Вы всегда можете использовать последнюю версию драйвера и использовать только один драйвер. Вы должны иметь возможность просто указать свой CUDA_PATH на нужный в настройках проекта VS, не меняя код.

3. Если вы хотите использовать какую-либо функцию CUDA, доступную не во всех версиях cuda, проверьте значение макроса CUDA_ARCH в своем коде и напишите другой код для другой архитектуры CUDA, а также измените настройки «Генерация кода» в CUDA C/C —> Устройство на правильный, например «compute_30,sm_30». Видишь [ docs.nvidia.com/nsight-visual-studio-edition/3.2/Content/… подробнее