Vulkan®
Vulkan is an open standard and cross-platform Application Programming Interface (API) developed by the Khronos® Group.
Derived from AMD’s revolutionary Mantle API, Vulkan® is a powerful low-overhead graphics API designed for developers who want or need deeper hardware control over GPU acceleration for maximized performance and predictability.
Vulkan® gives software developers control over the performance, efficiency, and capabilities of AMD Radeon™ GPUs and multi-core CPUs.
From the consortium that brought you OpenGL®, Vulkan® is a new graphics API for developers who want or need deeper hardware control. Designed with “low-overhead” capabilities, Vulkan® gives devs total control over the performance, efficiency, and capabilities of Radeon™ GPUs and multi-core CPUs.
Compared to OpenGL®, Vulkan® substantially reduces “API overhead,” which is background work a CPU must do to interpret what a game is asking of the hardware. Reducing this overhead gives hardware much more time to spend on delivering meaningful features, performance and image quality. Vulkan® also exposes GPU hardware features not ordinarily accessible through OpenGL®.
Vulkan® inherits these capabilities from AMD’s Mantle graphics API. Mantle was the first of its kind: the first low-overhead PC graphics API, the first to grant unprecedented access to PC GPU resources, and the first to offer absolute control of those resources. Most importantly for gamers, Mantle got the industry thinking about how much additional GPU performance could be unlocked with a low-overhead graphics API.
Though the Mantle API was tailored for AMD hardware, Mantle was also designed with just enough hardware abstraction to accommodate almost any modern graphics architecture. That architecture proved useful when we contributed the source code and API specification of Mantle to serve as the foundation of Vulkan® in May of 2015.
Since that time, Vulkan® has been forged under the stewardship of a comprehensive industry alliance that spans the hardware development, game development and content creation industries. Many new and significant capabilities have been added, such as support and performance optimizations for Android® smartphones and tablets, or cross-OS support for Windows® and Linux®.
Some of our tools to support you with Vulkan® development
Radeon™ Raytracing Analyzer
Investigate the performance of your raytracing applications.
Shine some light on those potential bottlenecks.
Radeon™ Memory Visualizer
Appreciate your allocations. Obliterate that oversubscription. And make good those memory leaks.
Show your video memory some love.
Radeon™ GPU Profiler
Analyze. Adjust. Accelerate.
Optimize your game’s renderer today, with our flagship graphics profiler.
Discover the Vulkan® Memory Allocator (VMA) library
Our battle-tested, open source memory allocation library for Vulkan® makes allocating memory a doddle.
Read some of our Vulkan® blog posts
Using Vulkan® Device Memory
This post serves as a guide on how to best use the various Memory Heaps & Memory Types exposed in Vulkan on AMD drivers, starting with some high-level tips.
Vulkan® Barriers Explained
Barriers control resource and command synchronisation in Vulkan applications and are critical to performance and correctness. Learn more here.
Understanding Vulkan® Objects
An important part of learning the Vulkan® API is to understand what types of objects are defined by it, what they represent and how they relate to each other.
Reducing Vulkan® API call overhead
This guest post, by Arseny Kapoulkine from Roblox, looks at the costs associated with calling various Vulkan functions tens or hundreds of thousands of times per frame, and ways to bring them down.
Not enough? Go visit our dedicated page for Vulkan application development:
Developing Vulkan® applications
Discover our Vulkan blog posts, presentations, samples, and more. Find out how we can help you create and optimize your Vulkan applications!
Need to know driver version information? Try here!
Radeon™ Vulkan® Drivers Version Table
A handy table listing the equivalent versions of Vulkan®, Windows Store, and internal drivers for each Radeon Software Adrenalin driver release.
AMD open source driver for Vulkan®
The AMD open source driver for Vulkan is an open-source Vulkan driver for AMD Radeon™ graphics adapters on Linux®.
The driver is built on top of AMD’s Platform Abstraction Library (PAL), a shared component that is designed to encapsulate certain hardware and OS-specific programming details for many of AMD’s 3D and compute drivers. Leveraging PAL can help provide a consistent experience across platforms, including support for recently released GPUs and compatibility with AMD developer tools.
Our latest Vulkan® news
Vulkan Memory Allocator v3.1, with many fixes and improvements, is out now!
VMA V3.1 gathers fixes and improvements, mostly GitHub issues/PRs, including improved compatibility with various compilers and GPUs.
AMF v1.4.33 provides native DX12 encoding support, public Vulkan Khronos decoding extensions + more
In addition, AMF on Linux can now be used with AMD Pro Vulkan and experimentally with RADV drivers. Download Advanced Media Framework now!
Announcing GPU Work Graphs in Vulkan®
AMD is providing an experimental AMD extension to access GPU Work Graphs in Vulkan. Check out this post for usage examples and resources.
The latest Vulkan SDK now ships with Vulkan Memory Allocator (VMA)
VMA appears as an optional component that can be selected in the Vulkan SDK 1.3.216.0 installer.
Vulkan and the Vulkan logo are trademarks of the Khronos Group Inc.