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.

Radeon™ GPU Analyzer

Write faster shaders, faster.

Discover the Vulkan® Memory Allocator (VMA) library

Our battle-testedopen 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!

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.

Just want the drivers to play a Vulkan® game?

Our latest Vulkan® news

Work Graphs
Release

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.

Footnotes

Vulkan and the Vulkan logo are trademarks of the Khronos Group Inc.