CUDA в visual studio 2017
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- visual-studio
- компиляция
- cuda
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Использование GPU
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Диагностика графики Visual Studio не поддерживается в Visual Studio ARM64.
Используйте инструмент учета использования GPU в Профилировщике производительности, чтобы получить более полное представление о высокоуровневом использовании оборудования в вашем приложении Direct3D. С его помощью можно определить, привязана ли производительность приложения к ЦП или GPU, и понять, как более эффективно использовать оборудование платформы. Инструмент учета использования GPU поддерживает приложения, использующие Direct3D 12, Direct3D 11 и Direct3D 10 и не поддерживает другие графические API, например Direct2D или OpenGL.
Окно отчета об использовании GPU выглядит так:

Требования
Ниже приведены требования по применению инструмента учета использования GPU, дополняющие требования по диагностике графики.
-
GPU и драйвер, поддерживающие необходимое инструментирование синхронизации.
Примечание. Дополнительные сведения о поддерживаемых драйверах и оборудовании см. в разделе Поддерживаемые драйвера и оборудование в конце этого документа.
Дополнительные сведения о требованиях по диагностике графики см. в статье по началу работы.
Работа с инструментом учета использования GPU
При запуске приложения под управлением инструмента учета использования GPU система Visual Studio создает сеанс диагностики, выводящий высокоуровневую информацию о производительности отрисовки приложения и использовании GPU в режиме реального времени.
Запуск инструмента учета использования GPU

- В главном меню выберите Отладка>Производительность и диагностика (или нажмите сочетание клавиш на клавиатуре: ALT+F2).
- В концентраторе Производительность и диагностика установите флажок Использование GPU. При необходимости установите флажки для других интересующих вас инструментов. Вы можете одновременно запустить несколько инструментов производительности и диагностики, чтобы получить более полное представление о производительности приложения.
Примечание. Не все инструменты производительности и диагностики можно использовать одновременно.
Высокоуровневые сведения, отображаемые в режиме реального времени, включают в себя синхронизацию кадров, частоту кадров и уровень использования GPU. Все эти элементы информации отображаются независимо друг от друга, однако все они используют общую шкалу времени, чтобы можно было легко найти связь между ними.
Каждый график Время кадра (мс) и Кадров в секунду (кадров/с) содержит две красные горизонтальные линии, представляющие целевые показатели производительности для 60 и 30 кадров в секунду. На графике «Время кадра» приложение превышает целевой показатель производительности, когда график проходит под линией, и не достигает его, когда график проходит над линией. На графике «Кадров в секунду» действует обратный принцип — приложение превышает целевой показатель производительности, когда график проходит над линией, и не достигает его, когда график проходит под линией. В основном эти графики используются для получения общего представления о производительности приложения и выявления замедлений в работе, которые может потребоваться проверить. Например, если видите неожиданное падение частоты кадров или пик загрузки GPU, может потребоваться дальнейшая проверка.
Во время выполнения приложения под управлением инструмента учета использования GPU сеанс диагностики также собирает подробные сведения о событиях графики, которые были обработаны GPU. Эта информация используется для создания более детального отчета об использовании оборудования приложением. Поскольку создание этого отчета занимает некоторое время, его можно просмотреть только после завершения сбора информации в рамках сеанса диагностики.
Если вы хотите подробнее рассмотреть проблему производительности или использования, остановите сбор сведений о производительности, чтобы можно было создать необходимый отчет.
Чтобы создать и просмотреть отчет об использовании GPU, сделайте следующее:
- В нижней части окна сеанса диагностики выберите ссылку Остановка сбора или в верхнем левом углу щелкните Остановить.

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

- Для просмотра подробной временной шкалы выделенного фрагмента в нижней части отчета выберите view details (Просмотр сведений) в сообщении . click here to view details of GPU usage for that range (Щелкните для просмотра сведений об использовании GPU для этого диапазона).

Открывается новый документ с вкладками, содержащий отчет. Отчет об использовании GPU помогает определить, когда событие графики было запущено на ЦП, когда оно достигло GPU и сколько времени потребовалось GPU для его выполнения. Эти сведения помогают выявить узкие места и возможности для повышения уровня параллелизма в коде.
Экспорт в GPUView или Windows Performance Analyzer
Начиная с Visual Studio 2017, вы можете открыть эти данные с помощью GPUView и Windows Performance Analyzer. Просто выберите ссылки Открыть в GpuView или Открыть в WPA, расположенные в правом нижнем углу диагностического сеанса.

Работа с отчетом об использовании GPU
В верхней части отчета об использовании GPU отображаются временные шкалы для операций обработки ЦП, операций отрисовки GPU и операций копирования ЦП. Эти временные шкалы разделены светло серыми вертикальными полосами, указывающими на вертикальную синхронизацию дисплея (vsync). Частота полос соответствует частоте обновления одного из дисплеев (выбранного в раскрывающемся списке Дисплей), для которого были собраны данные об использовании GPU.
Поскольку частота обновления дисплея может превышать целевой показатель производительности, прямая зависимость вертикальной синхронизации и частоты кадров, которой должно достичь приложение, может отсутствовать. Чтобы достичь целевых показателей производительности, приложение должно завершить всю обработку, выполнить отрисовку и совершить вызов Present() с целевой частотой кадров. Отрисованный кадр не будет отображаться до следующей вертикальной синхронизации после Present() .
В нижней части отчета об использовании GPU перечислены события графики, возникшие за охваченный в отчете период времени. При выборе события отображается маркер в соответствующих событиях на временных шкалах. Как правило, одно событие в потоке ЦП отображает вызов API, а другое событие на одной из временных шкал GPU показывает, когда GPU завершил задачу. Аналогично при выборе события на временной шкале в нижней части отчета показывается соответствующее событие графики.
После увеличения временных шкал в верхней части отчета видны только наиболее продолжительные события. Чтобы просмотреть более кратковременные события, увеличьте масштаб временных шкал, нажав клавишу CTRL и вращая колесико указывающего устройства либо воспользовавшись элементом управления масштабирования в левом нижнем углу верхней панели. Можно также перетаскивать содержимое панели временных шкал для перемещения по записанным событиям.
Чтобы найти желаемое, отфильтруйте отчет об использовании GPU по имени процесса, идентификатору потока и имени события. Кроме того, вы можете выбрать, какая частота обновления дисплея определяет линии вертикальной синхронизации. Вы можете отсортировать события по уровням иерархии, если ваше приложение использует интерфейс ID3DUserDefinedAnnotation для группировки команд отрисовки.
Вот дополнительные сведения:
| Управление фильтром | Description |
|---|---|
| Обработать | Имя процесса, который вас интересует. Этот раскрывающийся список содержит все процессы, использовавшие GPU во время сеанса диагностики. Цвет, связанный с процессом, является цветом операций потока на временных шкалах. |
| Поток | Идентификатор потока, который вас интересует. В многопоточном приложении эта информация может помочь изолировать определенные потоки, относящиеся к интересующему вас процессу. События, связанные с выбранным потоком, выделяются на каждой временной шкале. |
| Отображение | Номер дисплея, для которого отображается частота обновления. Некоторые драйверы можно настроить для представления нескольких физических дисплеев в качестве одного большого виртуального дисплея. Может отображаться только один дисплей, даже если к компьютеру подключено несколько дисплеев. |
| Фильтровать | Ключевые слова, которые вас интересуют. В нижней части отчета будут отображаться только те события, которые полностью или частично соответствуют ключевому слову. Можно указать несколько ключевых слов, разделяя их точкой с запятой (;). |
| Иерархическая сортировка | Флажок, указывающий, сохраняются ли или игнорируются иерархии событий, определенные с помощью пользовательских маркеров. |
Список событий в нижней части отчета об использовании GPU содержит сведения о каждом событии.
| Столбец | Description |
|---|---|
| Имя события | Имя события графики. Событие обычно соответствует одному событию на временной шкале потоков ЦП и одному событию на временной шкале GPU. Имена событий могут быть неопределенными, если инструменту учета использования GPU не удается определить имя события. Дополнительные сведения см. в примечании после этой таблицы. |
| Начало ЦП (нс) | Время инициирования события на ЦП путем вызова API Direct3D. Время измеряется в наносекундах и отсчитывается относительно момента запуска приложения. |
| Начало GPU (нс) | Время инициирования события в GPU. Время измеряется в наносекундах и отсчитывается относительно момента запуска приложения. |
| Длительность GPU (нс) | Время в наносекундах, которое потребовалось для завершения события в GPU. |
| Имя процесса | Имя приложения, из которого пришло событие. |
| Идентификатор потока | Идентификатор потока, из которого пришло событие. |
Если GPU или драйвер не поддерживают необходимые функции инструментирования, все события будут отображаться как неопределенные. В случае возникновения этой проблемы обновите драйвер GPU и повторите попытку. Дополнительные сведения см. в разделе Поддержка оборудования и драйверов в конце этого документа.
Параметры инструмента учета использования GPU
В инструменте учета использования GPU можно настроить отложенный сбор данных профилирования, чтобы не начинать сбор сведений о сразу после запуска приложения. Поскольку данные профилирования могут иметь значительный объем, можно выполнить это действие, если вы знаете, что снижения производительности приложения регистрируются лишь с недавнего времени.
Чтобы отложить профилирование относительно запуска приложения, выполните следующие действия.

- В главном меню выберите Отладка>Производительность и диагностика (или нажмите сочетание клавиш на клавиатуре: ALT+F2).
- В концентраторе Производительность и диагностика рядом с элементом Использование GPU щелкните ссылку Параметры.
- На странице свойств Общие в области GPU Profiling Configuration (Конфигурация профилирования GPU) снимите флажок Begin profiling at app start (Начать профилирование с момента запуска приложения), чтобы отложить профилирование.
На данный момент вы не сможете отложить профилирование для приложений Direct3D 12.
После запуска приложения в инструменте учета использования GPU вам будет доступна дополнительная ссылка в нижней части окна инструмента учета использования GPU. Чтобы начать сбор данных профилирования, выберите ссылку Start (Запуск) в сообщении Start collecting additional detailed GPU Usage Data (Запуск сбора дополнительных подробных данных об использовании GPU).
Поддержка оборудования и драйверов
Поддерживаются следующие драйверы и оборудование GPU:
AMD Radeon™ GPU, AMD FirePro™ GPU и акселераторы AMD FirePro GPU на базе архитектуры Graphics Core Next (GCN)
В настоящее время не поддерживаются конфигурации с несколькими GPU, такими как NVIDIA® SLI™ и AMD Crossfire™. Средства настройки гибридной графики, например NVIDIA® Optimus™ и AMD Enduro™, поддерживаются.
Как настроить visual studio для cuda?

Я создала проект типа «cuda 11.2 runtime» в visual studio, но он выдаёт данную ошибку.
Как я поняла, проблема в конфликте синтаксисов. Если верить людям, которые сталкивались с этим — стоит пренебречь данными ошибками, ведь код и так должен работать, но вот проблема — у меня он не работает. Полагаю, программа должна вывести в качестве ответа суммы элементов массива, но она выдаёт ошибку: «addKernel launch failed: no kernel image is available for execution on the device
addWithCuda failed!» в консоли. Вероятно, у этих ошибок 2 разные причины, поэтому, задаю два вопроса:
1. Как починить «поиск ошибок» в коде?
2. Как заставить программу работать верно?
- Вопрос задан более трёх лет назад
- 627 просмотров
6 комментариев
Простой 6 комментариев
Как настроить CUDA на Visual Studio
Программирование на GPU становится все более популярным среди разработчиков, так как оно позволяет значительно увеличить производительность приложений. CUDA (Compute Unified Device Architecture) — это платформа для параллельных вычислений, разработанная компанией NVIDIA. Однако, перед тем как начать использовать CUDA, необходимо настроить среду разработки.
Visual Studio — одна из самых популярных интегрированных сред разработки (IDE) для программирования на языке C++. Совместно с CUDA Toolkit, Visual Studio позволяет разрабатывать и отлаживать приложения, использующие возможности GPU.
В этой статье мы подробно рассмотрим процедуру настройки CUDA на Visual Studio. Мы охватим все этапы: от установки необходимого программного обеспечения до создания и отладки CUDA-проекта.
Как настроить CUDA на Visual Studio
Настройка среды разработки CUDA на Visual Studio может быть сложной задачей, но с правильным подходом и инструкциями вы сможете справиться без особых проблем. В этом руководстве мы покажем вам, как настроить CUDA на Visual Studio. Следуйте этим пошаговым инструкциям:
- Установите подходящую версию Visual Studio. Для разработки CUDA требуется Visual Studio 2012 или более поздняя версия. Убедитесь, что у вас установлена правильная версия.
- Установите драйвер CUDA. Перейдите на официальный сайт NVIDIA и загрузите последнюю версию драйвера CUDA для вашей графической карты. Установите драйвер, следуя инструкциям на экране.
- Установите набор инструментов CUDA. Перейдите на официальный сайт NVIDIA и загрузите набор инструментов CUDA для Visual Studio. Установите набор инструментов, следуя инструкциям на экране. Убедитесь, что выбрана правильная версия Visual Studio в процессе установки.
- Настройте проект Visual Studio для разработки CUDA. Откройте Visual Studio и создайте новый проект. В процессе создания проекта выберите шаблон «CUDA» из списка доступных шаблонов. Укажите имя и место сохранения проекта.
- Настройте свойства проекта. Щелкните правой кнопкой мыши на проекте в окне «Обозреватель решений» и выберите «Свойства». В окне свойств выберите «Конфигурация» и «Параметры CUDA». Здесь вы можете настроить различные параметры, такие как архитектура GPU и параметры оптимизации.
- Напишите и скомпилируйте код CUDA. Создайте новый .cu файл внутри вашего проекта и напишите код CUDA. Вы можете использовать специальные ключевые слова и функции для разработки параллельных вычислений. После написания кода скомпилируйте его, выбрав «Сборка проекта» в меню «Сборка».
- Проверьте результаты. Запустите скомпилированную программу CUDA и проверьте ее результаты. Убедитесь, что код работает правильно и соответствует вашим ожиданиям.
Теперь вы знаете, как настроить CUDA на Visual Studio. Следуйте этим инструкциям, и вы сможете разрабатывать и выполнять программы, использующие технологию CUDA, на платформе Visual Studio.
Шаг 1: Установка необходимых программ
Перед началом работы с CUDA в Visual Studio необходимо установить несколько программ:
1. Установите NVIDIA GPU
Прежде чем начать работу с CUDA, убедитесь, что у вас установлен графический процессор от NVIDIA. Проверьте совместимость своего GPU с CUDA на официальном сайте NVIDIA.
2. Установите Visual Studio
Для разработки приложений на CUDA требуется установленная Visual Studio. Убедитесь, что у вас установлена последняя версия Visual Studio Community Edition, доступная на официальном сайте Microsoft.
3. Установите CUDA Toolkit
Перейдите на официальный сайт NVIDIA и загрузите и установите CUDA Toolkit. Убедитесь, что выбираете версию, которая подходит для вашей GPU и операционной системы.
4. Обновите драйверы GPU
Перед началом работы с CUDA, рекомендуется обновить драйверы вашего GPU до последней доступной версии. Для этого перейдите на официальный сайт NVIDIA и загрузите драйверы, совместимые с вашей GPU и операционной системой.
После установки этих программ вы будете готовы перейти к следующему шагу — настройке CUDA в Visual Studio.
Шаг 2: Установка драйверов для GPU
Перед установкой CUDA необходимо убедиться, что на компьютере установлены актуальные драйверы для вашей графической карты. В противном случае CUDA не сможет работать и вы не сможете использовать ее возможности.
Для установки драйверов следуйте инструкциям ниже:
- Откройте веб-сайт производителя вашей графической карты.
- Выберите раздел «Драйверы» или «Поддержка».
- На странице загрузок найдите драйвер, соответствующий вашей модели графической карты и операционной системе.
- Скачайте драйвер на ваш компьютер.
- Запустите установщик драйвера и следуйте инструкциям на экране для завершения процесса установки.
- После завершения установки перезагрузите компьютер, чтобы изменения вступили в силу.
После установки драйверов ваша графическая карта будет готова к использованию с CUDA.
Шаг 3: Установка CUDA Toolkit
Прежде чем приступить к установке CUDA Toolkit, убедитесь, что в вашей системе уже установлена подходящая версия драйвера NVIDIA. Вы можете проверить версию вашего драйвера, открыв Управление устройствами и перейдя в раздел «Адаптеры дисплея». В случае необходимости, загрузите и установите последнюю версию драйвера с официального сайта NVIDIA.
1. Посетите официальный сайт NVIDIA и перейдите на страницу загрузки CUDA Toolkit.
2. В выпадающем меню, выберите вашу операционную систему и архитектуру.
3. Нажмите на кнопку «Поиск» и найдите последнюю доступную версию CUDA Toolkit для вашей системы.
4. После выбора версии, скачайте установочный файл CUDA Toolkit на ваш компьютер.
5. Запустите установочный файл и следуйте инструкциям мастера установки.
6. Во время установки вы можете выбрать путь установки, однако рекомендуется оставить его по умолчанию.
7. Продолжайте установку, пока не достигнете окна «Компоненты». Отметьте, что вы хотите установить вместе с CUDA Toolkit. Обычно выбраны все компоненты по умолчанию.
8. После выбора компонентов, нажмите на кнопку «Далее» и дождитесь завершения процесса установки.
9. После завершения установки, вы можете перезагрузить компьютер, чтобы изменения вступили в силу.
Теперь CUDA Toolkit успешно установлен на вашу систему, и вы готовы приступить к разработке приложений с использованием CUDA в Visual Studio.
Шаг 4: Создание проекта с использованием CUDA
1. Откройте Visual Studio и создайте новый проект. Для этого выберите меню «Файл» -> «Создать» -> «Проект».
2. В поисковой строке введите «CUDA». Вы увидите список доступных шаблонов проектов для CUDA. Выберите нужный вам шаблон, например, «Пустой проект CUDA».
3. Укажите имя и место сохранения проекта. Нажмите кнопку «Создать».
4. После создания проекта откроется файл с расширением «.cu». В этом файле вы будете писать свой код для вычислений на GPU с использованием CUDA.
5. Теперь вы можете начать разрабатывать свою программу, добавлять функции и вызывать их в основном коде.
6. Чтобы собрать и запустить проект, выберите меню «Сборка» -> «Собрать проект» или нажмите сочетание клавиш «Ctrl+Shift+B».
7. После успешной сборки проекта вы можете запустить его, выбрав меню «Отладка» -> «Запуск без отладки» или нажав клавишу «F5».
Теперь у вас есть проект с использованием CUDA, готовый для разработки и запуска вычислений на GPU. Вы можете добавлять новый код, модифицировать существующий и проверять результаты вашей работы.
Шаг 5: Настройка компиляции и запуск проекта
После того как вы создали проект CUDA в Visual Studio, настало время настроить его компиляцию и запуск.
1. Щелкните правой кнопкой мыши на названии проекта в обозревателе решений и выберите «Свойства».
2. Перейдите на вкладку «Конфигурация сборки» и убедитесь, что выбран нужный вам набор конфигураций.
3. Выберите «Компиляция CUDA» в категории «Проект» и установите нужные параметры компиляции. Вы можете настроить такие параметры, как архитектура CUDA, язык программирования и оптимизации.
4. Перейдите на вкладку «Отладка» и задайте необходимые параметры запуска проекта. Вы можете указать аргументы командной строки и рабочую папку.
5. Нажмите кнопку «ОК», чтобы сохранить настройки проекта.
Теперь вы можете компилировать и запускать свой проект CUDA в Visual Studio с помощью комбинации клавиш Ctrl + F5 или через меню «Отладка». Если все настройки сделаны правильно, вы должны увидеть результат выполнения вашей программы на графическом процессоре.
