как узнать cuda видеокарты
Как узнать версию cuda на видеокарте
Своевременное обновление драйвера видеокарты — залог её оптимальной и качественной работы. Для того, чтобы узнать какая версия драйвера установлена на вашем компьютере (ноутбуке) и требуется ли его обновление, необходимо проделать несколько простых манипуляций. Предлагаем два варианта: первый подойдет только для пользователей видеокарт от NVIDIA, второй подойдет также и для тех, кто использует AMD (ATI) Radeon.
1. Кликаем правой кнопкой мыши в пустое место рабочего стола. В открывшемся окне выбираем пункт «Панель управления NVIDIA», как показано на рисунке.
В открывшейся панели управления в левом нижнем углу находим ссылку «Информация о системе», нажимаем её.
В новом окне мы видим всю информацию о нашей графической системе, и в самой первой строке находится версия установленного драйвера.
2. Для любителей поэкспериментировать предлагаем еще один простой способ. Он также подойдет для пользователей видеокарт от AMD (ATI) Radeon.
Комбинацией клавиш Win+R открываем меню «Выполнить». Вводим команду «dxdiag» и нажимаем «OK».
Перед нами откроется большое окно под названием «Средство диагностики DirectX». Здесь выбираем меню «Экран» и в правой колонке видим полную информацию о нашем драйвере.
Надеемся, мы помогли вам найти ответ на вопрос «как узнать версию драйвера видеокарты». Напомним, что вы всегда можете скачать последнюю версию драйверов для мобильных видеокарт на нашем сайте.
Для оптимальной производительности видеокарт от NVIDIA необходимо регулярно обновлять программное обеспечение. Перед выполнением данной процедуры желательно узнать версию драйверов, уже установленных на компьютере. Операция довольно простая.
Узнаём версию драйверов
Получить данные о версии установленного ПО для видеоадаптера от НВИДИА можно с помощью сторонних средств, приложения от производителя или задействованием системного инструментария.
Способ 1: GPU-Z
Разработчики утилиты CPU-Z выпускают также средство GPU-Z, которое показывает параметры установленной в компьютере графической карты, в том числе и сведения об установленных драйверах.
После запуска найдите в главном окне строку «Driver Version» – все нужные сведения о ПО видеоадаптера находятся там.
Первые 10 цифр представляют собой непосредственно версию драйверов, а цифры в скобках после надписи «NVIDIA» – релизный номер пакета.
Как видим, с помощью ГПУ-З получить требуемую информацию очень просто. Единственным недостатком этого решения, хотя и не самым критичным, является отсутствие русского языка.
Способ 2: Панель управления NVIDIA
В комплекте с драйверами для «зелёной» видеокарты обычно идёт панель управления драйверами – программное средство настройки тех или иных параметров GPU, с помощью которого также можно узнать версию установленного ПО.
После запуска средства воспользуйтесь меню «Справка», в котором выберите пункт «Информация о системе».
Способ 3: Системные средства
Требуемую информацию также можно получить из некоторых системных оснасток – средства диагностики DirectX, окна сведений о системе или «Диспетчера устройств».
Средство диагностики DirectX
Графическое API ДиректИкс зависит от аппаратных и программных характеристик видеокарты, поэтому всегда отображает версию установленных драйверов.
- Откройте инструмент «Выполнить» (клавиши Win+R), затем впишите в него команду dxdiag и нажмите «ОК».
После запуска средства перейдите на вкладку «Экран» (компьютеры с CPU без встроенного видеоядра) или «Преобразователь» (ПК с вмонтированными в процессор GPU или ноутбуки с гибридными системами).
Сведения о системе
Во все актуальные версии Виндовс встроено средство отображения данных о системе, которое умеет также отображать версии присутствующих в системе драйверов, в том числе и для видеокарт. Им мы и воспользуемся.
Откройте ветку «Компоненты» и выберите пункт «Дисплей».
«Диспетчер устройств»
Также требуемую информацию можно получить в «Диспетчере устройств».
Найдите в списке оборудования раздел «Видеоадаптеры» и открывайте его. Далее выделите пункт, соответствующий вашей видеокарте NVIDIA, кликните по нему правой кнопкой мыши, и выберите вариант «Свойства».
Все системные инструменты не отображают номер релиза драйверов, что можно назвать недостатком этого способа.
Заключение
Таким образом мы рассмотрели несколько вариантов получения сведений о версии драйверов для видеокарт NVIDIA. Как видим, более полную информацию можно получить либо сторонними средствами, либо через панель управления видеокартой.
Отблагодарите автора, поделитесь статьей в социальных сетях.
B: Могу ли я найти драйвер для более раннего продукта и где?
O: Да. Вы можете воспользоваться Опцией номер 2 для автоматического поиска драйвера для вашего продукта или выбрать “Предыдущие модели” в Типе продукта в Опции номер 1.
B: Где я могу найти более ранние или бета версии драйверов?
O: На главной странице закачки драйверов, выберите Бета версии и драйверы из архива в меню Дополнительное ПО и драйверы.
B: Как узнать, с какой версией драйвера я работаю?
O: Нажмите правую клавишу мыши на рабочем столе и выберите Панель управления NVIDIA. В меню Панели управления NVIDIA выберите Помощь > Информация о системе. Версия драйвера указана в верхней части окна Детали. Более продвинутые пользователи могут узнать версию драйвера из Мастера управления оборудованием Windows. Нажмите правую кнопку мыши на графическом устройстве во вкладке адаптеры дисплея и выберите Свойства. Выберите вкладку Драйвер и узнайте версию драйвера. Последние 5 цифр являются номером версии драйвера NVIDIA.
B: После того, как я нажал Согласен и Скачать, я должен выбрать Запустить или Сохранить?
O: Ваш выбор зависит от ваших предпочтений. Если вы хотите сохранить драйвер и использовать его позже или на другом ПК, то стоит выбрать Сохранить. Если вы хотите скачать и тут же начать использовать драйвер, то необходимо выбрать Запустить.
B: Нужно ли сперва удалить более ранний драйвер?
O: Нет. Ранее перед установкой следовало удалить предыдущий драйвер. Сегодня мы рекомендуем установку нового драйвера поверх более раннего. Это позволит вам управлять любыми текущими настройками и профилями Панели управления NVIDIA.
B: Я бы хотел вернуться к предыдущей версии драйвера. Как это сделать?
O: Если вы установили новый драйвер поверх старого, просто сделайте откат к более ранней версии драйвера. Инструкции вы найдете тут: Опция 2: Откат к предыдущему драйверу.
CUDA: Как работает GPU
Внутренняя модель nVidia GPU – ключевой момент в понимании GPGPU с использованием CUDA. В этот раз я постараюсь наиболее детально рассказать о программном устройстве GPUs. Я расскажу о ключевых моментах компилятора CUDA, интерфейсе CUDA runtime API, ну, и в заключение, приведу пример использования CUDA для несложных математических вычислений.
Вычислительная модель GPU:
При использовании GPU вы можете задействовать грид необходимого размера и сконфигурировать блоки под нужды вашей задачи.
CUDA и язык C:
Дополнительные типы переменных и их спецификаторы будут рассмотрены непосредственно в примерах работы с памятью.
CUDA host API:
Перед тем, как приступить к непосредственному использованию CUDA для вычислений, необходимо ознакомиться с так называемым CUDA host API, который является связующим звеном между CPU и GPU. CUDA host API в свою очередь можно разделить на низкоуровневое API под названием CUDA driver API, который предоставляет доступ к драйверу пользовательского режима CUDA, и высокоуровневое API – CUDA runtime API. В своих примерах я буду использовать CUDA runtime API.
Понимаем работу GPU:
Как было сказано, нить – непосредственный исполнитель вычислений. Каким же тогда образом происходит распараллеливание вычислений между нитями? Рассмотрим работу отдельно взятого блока.
Задача. Требуется вычислить сумму двух векторов размерностью N элементов.
Нам известна максимальные размеры нашего блока: 512*512*64 нитей. Так как вектор у нас одномерный, то пока ограничимся использованием x-измерения нашего блока, то есть задействуем только одну полосу нитей из блока (рис. 3).
Рис. 3. Наша полоса нитей из используемого блока.
Заметим, что x-размерность блока 512, то есть, мы можем сложить за один раз векторы, длина которых N // Функция сложения двух векторов
__global__ void addVector( float * left, float * right, float * result)
<
//Получаем id текущей нити.
int idx = threadIdx.x;
Таким образом, распараллеливание будет выполнено автоматически при запуске ядра. В этой функции так же используется встроенная переменная threadIdx и её поле x, которая позволяет задать соответствие между расчетом элемента вектора и нитью в блоке. Делаем расчет каждого элемента вектора в отдельной нити.
Пишем код, которые отвечает за 1 и 2 пункт в программе:
#define SIZE 512
__host__ int main()
<
//Выделяем память под вектора
float * vec1 = new float [SIZE];
float * vec2 = new float [SIZE];
float * vec3 = new float [SIZE];
//Инициализируем значения векторов
for ( int i = 0; i //Указатели на память видеокарте
float * devVec1;
float * devVec2;
float * devVec3;
…
dim3 gridSize = dim3(1, 1, 1); //Размер используемого грида
dim3 blockSize = dim3(SIZE, 1, 1); //Размер используемого блока
Теперь нам остаеться скопировать результат расчета из видеопамяти в память хоста. Но у функций ядра при этом есть особенность – асинхронное исполнение, то есть, если после вызова ядра начал работать следующий участок кода, то это ещё не значит, что GPU выполнил расчеты. Для завершения работы заданной функции ядра необходимо использовать средства синхронизации, например event’ы. Поэтому, перед копированием результатов на хост выполняем синхронизацию нитей GPU через event.
Код после вызова ядра:
//Выполняем вызов функции ядра
addVector >>(devVec1, devVec2, devVec3);
//Хендл event’а
cudaEvent_t syncEvent;
cudaEventCreate(&syncEvent); //Создаем event
cudaEventRecord(syncEvent, 0); //Записываем event
cudaEventSynchronize(syncEvent); //Синхронизируем event
Рассмотрим более подробно функции из Event Managment API.
Рис. 4. Синхронизация работы основоной и GPU прграмм.
На рисунке 4 блок «Ожидание прохождения Event’а» и есть вызов функции cudaEventSynchronize.
Ну и в заключении выводим результат на экран и чистим выделенные ресурсы.
cudaFree(devVec1);
cudaFree(devVec2);
cudaFree(devVec3);
Думаю, что описывать функции высвобождения ресурсов нет необходимости. Разве что, можно напомнить, что они так же возвращают значения cudaError_t, если есть необходимость проверки их работы.
Заключение
Надеюсь, что этот материал поможет вам понять, как функционирует GPU. Я описал самые главные моменты, которые необходимо знать для работы с CUDA. Попробуйте сами написать сложение двух матриц, но не забывайте об аппаратных ограничениях видеокарты.
How to get the CUDA version?
Is there any quick command or script to check for the version of CUDA installed?
I found the manual of 4.0 under the installation directory but I’m not sure whether it is of the actual installed version or not.
25 Answers 25
As Jared mentions in a comment, from the command line:
From application code, you can query the runtime API version with
or the driver API version with
As Daniel points out, deviceQuery is an SDK sample app that queries the above, along with device capabilities.
As others note, you can also check the contents of the version.txt using (e.g., on Mac or Linux)
You can also get some insights into which CUDA versions are installed with:
which will give you something like this:
Given a sane PATH, the version cuda points to should be the active one (10.2 in this case).
NOTE: This only works if you are willing to assume CUDA is installed under /usr/local/cuda (which is true for the independent installer with the default location, but not true e.g. for distributions with CUDA integrated as a package). Ref: comment from @einpoklum.
You should find the CUDA Version on the top right corner of the comand’s output. At least I found that output for CUDA version 10.0 e.g.,
For CUDA version:
For cuDNN version:
Use following to find path for cuDNN:
Then use this to get version from header file,
Use following to find path for cuDNN:
Then use this to dump version from header file,
Use the following command to check CUDA installation by Conda:
And the following command to check CUDNN version installed by conda:
If you want to install/update CUDA and CUDNN through CONDA, please use the following commands:
Alternatively you can use following commands to check CUDA installation:
If you are using tensorflow-gpu through Anaconda package (You can verify this by simply opening Python in console and check if the default python shows Anaconda, Inc. when it starts, or you can run which python and check the location), then manually installing CUDA and CUDNN will most probably not work. You will have to update through conda instead.
If you want to install CUDA, CUDNN, or tensorflow-gpu manually, you can check out the instructions here https://www.tensorflow.org/install/gpu
Sometimes the folder is named «Cuda-version».
Output should be similar to: CUDA Version 8.0.61
If you have installed CUDA SDK, you can run «deviceQuery» to see the version of CUDA
You might find CUDA-Z useful, here is a quote from their Site:
«This program was born as a parody of another Z-utilities such as CPU-Z and GPU-Z. CUDA-Z shows some basic information about CUDA-enabled GPUs and GPGPUs. It works with nVIDIA Geforce, Quadro and Tesla cards, ION chipsets.»
On the Support Tab there is the URL for the Source Code: http://sourceforge.net/p/cuda-z/code/ and the download is not actually an Installer but the Executable itself (no installation, so this is «quick»).
This Utility provides lots of information and if you need to know how it was derived there is the Source to look at. There are other Utilities similar to this that you might search for.
One can get the cuda version by typing the following in the terminal:
Alternatively, one can manually check for the version by first finding out the installation directory using:
And then cd into that directory and check for the CUDA version.
If you have PyTorch installed, you can simply run the following code in your IDE:
Other respondents have already described which commands can be used to check the CUDA version. Here, I’ll describe how to turn the output of those commands into an environment variable of the form «10.2», «11.0», etc.
To recap, you can use
to find out the CUDA version. I think this should be your first port of call. If you have multiple versions of CUDA installed, this command should print out the version for the copy which is highest on your PATH.
The output looks like this:
We can pass this output through sed to pick out just the MAJOR.MINOR release version number.
If nvcc isn’t on your path, you should be able to run it by specifying the full path to the default location of nvcc instead.
The output of which is the same as above, and it can be parsed in the same way.
Alternatively, you can find the CUDA version from the version.txt file.
The output of which
can be parsed using sed to pick out just the MAJOR.MINOR release version number.
We can combine these three methods together in order to robustly get the CUDA version as follows:
This environment variable is useful for downstream installations, such as when pip installing a copy of pytorch that was compiled for the correct CUDA version.
Similarly, you could install the CPU version of pytorch when CUDA is not installed.
But be careful with this because you can accidentally install a CPU-only version when you meant to have GPU support. For example, if you run the install script on a server’s login node which doesn’t have GPUs and your jobs will be deployed onto nodes which do have GPUs. In this case, the login node will typically not have CUDA installed.
Как получить версию CUDA?
Есть ли какая-нибудь быстрая команда или скрипт, чтобы проверить версию установленной CUDA?
Я нашел руководство 4.0 в каталоге установки, но я не уверен, является ли оно действующей установленной версией или нет.
Как упоминает Джаред в комментарии, из командной строки:
Из кода приложения вы можете запросить версию API времени выполнения с помощью
или версия драйвера API с
Как отмечают другие, вы также можете проверить содержимое version.txt использования (например, на Mac или Linux)
Вы должны найти версию CUDA в верхнем правом углу вывода команды. По крайней мере, я обнаружил, что вывод для CUDA версии 10.0, например,
Для версии CUDA:
Для версии cuDNN:
Используйте следующее, чтобы найти путь для cuDNN:
Затем используйте это, чтобы получить версию из файла заголовка,
Используйте следующее, чтобы найти путь для cuDNN:
Затем используйте это для выгрузки версии из файла заголовка,
Иногда папка называется «Cuda-версия».
Вывод должен быть похож на: CUDA Version 8.0.61
Используйте следующую команду, чтобы проверить установку CUDA от Conda:
И следующая команда для проверки версии CUDNN, установленной conda:
Если вы хотите установить / обновить CUDA и CUDNN через CONDA, пожалуйста, используйте следующие команды:
В качестве альтернативы вы можете использовать следующие команды для проверки установки CUDA:
Если вы используете tenorflow-gpu через пакет Anaconda (это можно проверить, просто открыв Python в консоли и проверив, показывает ли Python по умолчанию Anaconda, Inc. при запуске, или вы можете запустить какой Python и проверить местоположение), затем вручную установка CUDA и CUDNN, скорее всего, не будет работать. Вам придется обновить через Conda вместо этого.
Как узнать количество ядер CUDA?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Количество ядер CUDA
В моей видеокарте 1152 ядра CUDA Означает ли это, что физически максимальное число параллельных.
Не запускается приложение под Cuda (CUDA directory not found)
Здравствуйте, пытаюсь скомпилировать приложение под Cuda но вылазит ошибка, что CUDA directory not.
Как узнать битность системы и количество ядер процесора?
Буду рад если кто то поделится кодом
Узнать количество ядер процессора
Какой в питоне правильный способ узнать количество ядер текущей машины?
Решение
ну или вручную посчитать
Нужно узнать количество ядер в системе
Пока получается что-то типо такого. PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer; PDWORD.
Как узнать сколько ядер на процессоре
Извините за такой нубский вопрос, на форуме чет не нашел ничего на эту тему. В общем, как узнать.
Как посмотреть реальное количество физических ядер?
Народ подскажите ото я запутался совсем. Мне нужно определить количество ядер на текущей ос Ubuntu.
Есть ли смысл создавать потоки количество которых больше чем количество ядер процессора?
Сабж. Есть ли смысл? Ведь одновременно одно ядро процессора не может выполнять более одной задачи.