технология vulcan nvidia какие видеокарты поддерживают
Поддержка Vulkan API и OpenGL добавлена в nVidia GeForce Experience
nVidia расширяет своё программное обеспечение GeForce Experience, чтобы позволить транслировать игровой процесс в таких играх, как Doom, No Man’s Sky и Minecraft — сообщает pcworld.com. Недавно компания объявила о том, что функции GeForce Experience (GFE) по захвату изображений и видеозаписей, ранее известные как ShadowPlay, в настоящее время называются Share-now, поддерживают графические интерфейсы OpenGL и Vulkan.
Новые функции вещания будут поддерживать Vulkan API и OpenGL с разрешением до 4K со скоростью 60 кадров в секунду. Скриншоты ( Alt + F1 ) также поддерживают разрешение до 4K.
Почему это важно: Microsoft DirectX может управлять миром игр, но настало время, когда GeForce Experience обратила внимание на Vulkan и OpenGL, особенно Vulkan. Еще слишком рано называть Vulkan серьезной угрозой для DX, но он постепенно привлекает внимание разработчиков игр. Doom (2016) очень сильно выиграл от принятия Vulkan, например. Cloud Imperium Games заявила в марте, что планирует проигнорировать DX12, сбросить DX11 и пойти с Vulkan только для своей ожидаемой игры с крафтом, Star Citizen.
Vulkan
What Is Vulkan?
Vulkan is a new-generation graphics and compute open standard API that provides high-efficiency, cross-platform access to modern GPUs. Created and evolved by the Khronos® Group standards consortium, Vulkan satisfies the needs of software developers in fields as varied as game, mobile and workstation application development. Vulkan’s explicit API design enables efficient implementations on platforms that span a wide range of mobile, console, embedded and desktop hardware using the Windows, Linux and Android operating systems.
Why Vulkan?
Vulkan is an open standard API that the entire industry can cooperatively evolve to provide access to the latest GPU technologies. The API provides a multi-threading-centric design to leverage modern multi-core CPUs, and provide access to GPUs via multiple parallel command queues. Some of the latest Vulkan features include ray tracing, bindless resources and shader programming using GLSL or HLSL. Vulkan is not tied to a specific platform and enables developers to write GPU code that is portable to diverse devices and operating systems.
Vulkan at NVIDIA
NVIDIA provides fully conformant Vulkan 1.2 drivers across our products including Geforce and Quadro on Windows and Linux, Shield Android TV, and the range of Jetson embedded processors using Android or Linux. NVIDIA Nsight™ tools enable developers with cutting-edge Vulkan application debugging, profiling and optimization capabilities.
Vulkan is available across NVIDIA’s products
NVIDIA is deeply engaged at Khronos and the Vulkan Working Group to help drive Vulkan’s evolution through developing vendor extensions to enable developers access the very latest GPU technologies, and encouraging these capabilities to be adopted as cross-vendor Vulkan specifications at the Khronos Working Group.
To help developers get up and running quickly with Vulkan, this page contains information on NVIDIA’s Vulkan drivers, links to the full source code of educational samples and helper libraries, links the downloadable NVIDIA Nsight tools to help you debug and optimise your Vulkan code, and articles and presentations to help you learn more about what Vulkan can do for you!
Vulkan Certified Driver Information
When running on Turing or Ampere hardware these drivers include the
Samples
NVIDIA provides a growing collection of Vulkan and OpenGL samples and tutorials with full source code available on GitHub. Developers can download the samples that interest them, from educational introductions to basic Vulkan workflows and extensions, through examples of how to render scenes with high geometric complexity and ray tracing,and on to professional application use-cases. The repository also contains utility code that can speed up Vulkan development.
Vulkan Developer Tools
Nsight Aftermath
The NVIDIA Nsight Aftermath SDK is a simple library that can be integrated into a game’s crash reporter to generate GPU «mini-dumps» when a GPU hang or exception occurs.
Nsight Systems
NVIDIA Nsight Systems is a system-wide analysis tool for visualizing CPU / GPU interactions to help eliminate GPU idle, stutter and CPU bottlenecks. It can trace Vulkan on the CPU & GPU, interoperating GPU APIs, and many CPU or OS events.
Nsight Graphics
NVIDIA Nsight Graphics enables developers to debug & profile Vulkan applications. With powerful low-level profiling features such as GPU Trace, it’s easier than ever to identify GPU performance issues and optimize with confidence.
RTX Ray Tracing in Vulkan
In November 2020, Khronos released the final versions of the Vulkan Ray Tracing extensions that seamlessly integrate ray tracing into the existing Vulkan framework. Vulkan is the industry’s first open, cross-vendor, cross-platform standard that can be used to access RTX ray tracing acceleration.
Getting Started with Vulkan Ray Tracing
A tutorial on how to use Vulkan Ray Tracing to create a complete mini-path tracer using the final Vulkan Ray Tracing extensions
An updated Vulkan Ray Tracing Tutorial using the final Vulkan Ray Tracing extensions
Read about how the 2020.6 release of the NVIDIA Nsight Graphics tool supports Vulkan Ray Tracing
Vulkan Driver Support
This page provides links to both Vulkan 1.2 general release drivers, and developer beta drivers.
Vulkan 1.2 General Release Driver Downloads
Vulkan 1.2, including support for the Vulkan Ray Tracing extensions, is available for Windows and Linux in our general release drivers here:
Vulkan Beta Driver Downloads
Vulkan Beta Driver Release Notes
The latest Vulkan 1.2 specification can be found here: https://www.khronos.org/registry/vulkan/
NVIDIA provides full Vulkan 1.2 support and functionality on NVIDIA GeForce and Quadro graphics card with one of the following Ampere, Turing, Volta, Pascal and Maxwell (first and second generation) based GPUs:
Ampere GPU Architecture
Turing GPU Architecture
Volta GPU Architecture
Pascal GPU Architecture
Maxwell 2 GPU Architecture
Maxwell 1 GPU Architecture
For any bugs or issues, please file a bug through the developer website: https://devtalk.nvidia.com/
Vulkan Beta Driver Release Updates
Descriptor Set Extensions
Cross process interop extensions:
Multi-GPU extensions:
Multiview and VR related extensions:
Other extensions:
March 10th, Windows 364.51
Vulkan on NVIDIA Hardware FAQ
1) How do I start using Vulkan in my code base?
NVIDIA Vulkan developer page https://developer.nvidia.com/Vulkan is a great place to start. You can learn from Vulkan presentations and articles as well as NVIDIA demos and SDK samples.
2) Is NVIDIA going to continue to support OpenGL in the future?
NVIDIA is fully committed to invest in OpenGL that our ISVs rely on and will continue to support and improve it. NVIDIA believes in providing maximum functionality with minimal churn to developers. Hence, NVIDIA fully supports both Vulkan and OpenGL.
3) Is NVIDIA Vulkan driver conformant?
Yes, the beta drivers typically pass the latest version of Vulkan conformance. Current conformance status can be found at https://www.khronos.org/conformance/.
4) Does NVIDIA support Vulkan on Linux for Tegra?
5) Does NVIDIA support Vulkan on Android?
Графический стандарт Vulkan уже доступен для процессоров NVIDIA
Организация Khronos Group, которая объединяет широкий круг различных компаний из индустрии программного и аппаратного обеспечения, включая NVIDIA, объявил о доступности нового интерфейса программирования графических приложений Vulkan. Это новый низкоуровневый API, который обладает рядом преимуществ перед современными бесплатными графическими стандартами. Новый инструмент гарантирует качественный контроль над выполнением графических команд и высокую производительность для широкого круга устройств. Одновременно с релизом Vulkan была представлена игра The Talos Principle, в которой была реализована поддержка нового стандарта. Уже сегодня владельцы графических карт NVIDIA могут получить обновлённые драйверы и опробовать все преимущества графической платформы в новой игре The Talos Principle.
Vulkan предоставляет разработчикам прямой доступ к GPU для полного контроля над его работой. Отличаясь более простыми и легкими драйверами, Vulkan демонстрирует меньшие задержки и меньшие накладные расходы при обработке графических команд по сравнению с традиционными API OpenGL и Direct3D. Vulkan также отличается эффективной поддержкой многопоточности и позволяет многоядерным центральным процессорам более эффективно загружать графический конвейер, поднимая производительность существующего оборудования на новый уровень.
Vulkan был создан организацией Khronos Group, которая объединяет широкий круг различных компаний из индустрии программного и аппаратного обеспечения, включая NVIDIA, с целью создания открытого, не требующего выплаты лицензионных отчислений API, предназначенного для создания и воспроизведения различного контента на широком спектре платформ и устройств. Новый API снижает затраты на портирование игр и открывает новые рыночные возможности для приложений на разных платформах. Важно, что драйверы NVIDIA для Windows, Linux и Android, позволяющие получить максимум возможностей от Vulkan, уже доступны. Подробности смотрите на странице драйверов Vulkan.
Преимущества для геймеров–владельцев графических процессоров GeForce:
Преимущества для разработчиков профессиональных приложений для Quadro:
Преимущества для разработчиков мобильных приложений под Tegra:
Узнать подробности о Vulkan можно здесь и на конференции по технологиям GPU в Сан-Хосе, Калифорния, с 4 по 7 апреля, где пройдёт ряд сессий по Vulkan.
Vulkan. Руководство разработчика. Настройка окружения
Я переводчик ижевской компании CG Tribe и здесь я буду публиковать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Это моя вторая публикация, которая посвящена переводу раздела Development Environment.
9. Загрузка моделей
10. Создание мип-карт
FAQ
Политика конфиденциальности
1. Вступление
2. Краткий обзор
3. Настройка окружения
Windows
Если вы занимаетесь разработкой для Windows, то, скорее всего, вы используете Visual Studio. Для полной поддержки С++17 необходимо использовать Visual Studio 2017 или 2019. Шаги, описанные ниже, подходят для VS 2017.
Vulkan SDK
Самым важным компонентом для разработки программ с Vulkan является SDK. Он включает в себя заголовочные файлы, стандартные слои валидации, инструменты отладки и загрузчик функций Vulkan. Загрузчик ищет методы драйвера в рантайме (во время исполнения) так же, как это делает библиотека GLEW для OpenGL.
SDK можно загрузить с сайта LunarG. Для этого используйте кнопки внизу страницы. Вам необязательно создавать аккаунт, однако с ним у вас будет доступ к дополнительной документации.
Если вы получили сообщение об ошибке, убедитесь, что ваша видеокарта поддерживает Vulkan, а драйвер обновлен до последней версии. См. главу Введение, в которой даны ссылки на драйверы крупных производителей.
В этой папке есть и другие программы, которые могут оказаться полезными для разработки. Программы glslangValidator.exe и glslc.exe используются для компиляции шейдеров из GLSL в байт-код. Подробно эта тема будет рассмотрена в главе Шейдерные модули. В папке Bin также находятся dll библиотеки загрузчика Vulkan и слоёв валидации, в папке Lib — статические библиотеки, а в папке Include – заголовочные файлы Vulkan. Вы можете изучить и другие файлы, но для руководства они нам не понадобятся.
Как уже было сказано, Vulkan – это API, независимый от платформы, в котором нет инструментов создания окна для отображения результатов рендеринга. Чтобы использовать преимущества кроссплатформенности Vulkan и избежать ужасов Win32, мы будем использовать библиотеку GLFW для создания окна. Есть и другие доступные библиотеки, например, SDL, но GLFW лучше тем, что она абстрагирует не только создание окна, но и некоторые другие платформенно-зависимые функции.
В отличие от DirectX 12, в Vulkan нет библиотеки для операций линейной алгебры, поэтому ее придется скачать отдельно. GLM – это удобная библиотека, разработанная для использования с графическими API, она часто используется с OpenGL.
Библиотека GLM – это header only библиотека. Скачайте последнюю версию и сохраните ее в удобном месте. У вас должна получиться подобная структура каталогов:
Настройка Visual Studio
После установки всех библиотек мы можем настроить проект Visual Studio для Vulkan и написать немного кода, чтобы убедиться, что все работает.
Добавьте в файл код, указанный ниже. Вам необязательно пытаться понять его сейчас, важно узнать, соберется ли и запустится ли программа. В следующей главе мы начнем описание с самых азов.
Добавьте include директории для Vulkan, GLFW и GLM:
Перейдите в Linker → General → Additional Library Directories и добавьте расположения lib-файлов для Vulkan и GLFW:
Введите имена lib-файлов Vulkan и GLFW:
И измените настройки стандарта на C++:
Теперь вы можете закрыть диалог с настройками проекта. Если все сделано верно, подсветки ошибок в коде больше не будет.
Не забудьте выбрать для компиляции 64-битный режим.
Проверьте, чтобы число расширений не равнялось нулю («X extensions supported» в консоли).
Поздравляем, вы готовы к работе с Vulkan!
Linux
Инструкции ниже предназначены для пользователей Ubuntu, но вы можете следовать им, изменив команды apt на подходящие вам команды менеджера пакетов. Вам нужен компилятор с поддержкой С++17 (GCC 7+ или Clang 5+). Вам также понадобится утилита make.
Vulkan Packages
Самыми важными компонентами для разработки с использованием Vulkan под Linux являются загрузчик Vulkan, слои валидации и несколько утилит командной строки для проверки совместимости вашего компьютера с Vulkan:
Если вы получили сообщение об ошибке, убедитесь, что ваша видеокарта поддерживает Vulkan, а драйвер обновлен до последней версии. См. главу Введение, в которой даны ссылки на драйверы крупных производителей.
Как уже было сказано, Vulkan – это API, независимый от платформы, в котором нет инструментов создания окна для отображения результатов рендеринга. Чтобы использовать преимущества кроссплатформенности Vulkan и избежать ужасов X11, мы будем использовать библиотеку GLFW для создания окна. Есть и другие доступные библиотеки, например, SDL, но GLFW лучше тем, что она абстрагирует не только создание окна, но и некоторые другие платформенно-зависимые функции.
Мы будем устанавливать GLFW с помощью следующей команды:
В отличие от DirectX 12, в Vulkan нет библиотеки для операций линейной алгебры, поэтому ее придется скачать отдельно. GLM – это удобная библиотека, разработанная для использования с графическими API, она часто используется с OpenGL.
Библиотека GLM – это header only библиотека. Ее можно установить из пакета libglm-dev :
Компилятор шейдеров
Теперь, когда настройка почти завершена, осталось установить программу для компиляции шейдеров из GLSL в байт-код.
glslc: error: no input files
Мы подробно рассмотрим glslc в главе о шейдерных модулях.
Настройка проекта для makefile
После установки всех библиотек мы можем настроить проект makefile для Vulkan и написать немного кода, чтобы убедиться, что все работает.
Аналогично определите базовые флаги линкера в переменной LDFLAGS :
Флаг -lglfw подключает библиотеку GLFW, -lvulkan — загрузчик Vulkan, а остальные флаги — низкоуровневые библиотеки и зависимости самой GLFW.
Запуск команды make test позволит убедиться, что программа работает успешно. При закрытии пустого окна программа должна завершиться успешным кодом возврата ( 0 ). У вас должен получиться готовый makefile, похожий на приведенный ниже:
MacOS
Инструкции ниже предназначены для тех, кто использует Xcode и менеджер пакетов Homebrew. Имейте в виду, что версия MacOS не должна быть ниже 10.11, а ваше устройство должно поддерживать Metal API.
Vulkan SDK
Самым важным компонентом для разработки программ с Vulkan является SDK. Он включает в себя заголовочные файлы, стандартные слои валидации, инструменты отладки и загрузчик функций Vulkan. Загрузчик ищет методы драйвера в рантайме (во время исполнения) так же, как это делает библиотека GLEW для OpenGL.
SDK можно загрузить с сайта LunarG. Для этого используйте кнопки внизу страницы. Вам необязательно создавать аккаунт, однако с ним у вас будет доступ к дополнительной документации.
Версия SDK для MacOS использует библиотеку MoltenVK. MacOS не имеет прямой поддержки Vulkan, а MoltenVK используется как прослойка для передачи вызовов в Apple Metal. Благодаря этому вы можете воспользоваться преимуществами отладки и производительности Apple Metal.
Как уже было сказано, Vulkan – это API, независимый от платформы, в котором нет инструментов создания окна для отображения результатов рендеринга. Мы будем использовать библиотеку GLFW для создания окна. Есть и другие доступные библиотеки, например, SDL, но GLFW лучше тем, что она абстрагирует не только создание окна, но и некоторые другие платформенно-зависимые функции.
Для установки GLFW на MacOS мы будем использовать менеджер пакетов Homebrew:
В Vulkan нет библиотеки для операций линейной алгебры, поэтому ее придется скачать отдельно. GLM – это удобная библиотека, разработанная для использования с графическими API, она часто используется с OpenGL.
Библиотека GLM – это header only библиотека. Ее можно установить из пакета glm :
Настройка Xcode
Запустите Xcode и создайте новый проект Xcode. В появившемся окне выберите Application > Command Line Tool.
Имейте в виду, вам необязательно пытаться понять весь код сейчас. Мы просто хотим использовать некоторые вызовы API, чтобы убедиться, что все работает правильно.
Xcode покажет некоторые ошибки, например, библиотеки, которые не были найдены. Необходимо настроить проект так, чтобы устранить эти ошибки. Выберите ваш проект в панели Project Navigator. Откройте вкладку Build Settings и выполните следующее:
(На скриншоте на каждый параметр приходится по одному пути. Но, если следовать этому мануалу, вы получите по два пути на параметр. — Прим. пер.)
Конфигурация Xcode должна иметь следующий вид:
Осталось настроить несколько переменных среды. В панели инструментов Xcode перейдите в Product > Scheme > Edit Scheme. и во вкладке Arguments добавьте две переменные среды:
• VK_ICD_FILENAMES = vulkansdk/macOS/share/vulkan/icd.d/MoltenVK_icd.json
• VK_LAYER_PATH = vulkansdk/macOS/share/vulkan/explicit_layer.d
У вас должно получиться следующее:
Итак, настройка завершена! После запуска проекта (не забудьте установить конфигурацию сборки Debug или Release) вы увидите следующее:
Число расширений должно быть больше нуля («X extensions supported» в консоли). Остальные логи берутся из библиотек. Вы можете получать разные сообщения в зависимости от вашей конфигурации.
Поздравляем! Теперь вы готовы к реальной работе с Vulkan.