Skip to content

Sample benchmark demonstrating the VK_KHR_cooperative_matrix extension

License

Notifications You must be signed in to change notification settings

ianromanick/vk_cooperative_matrix_perf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vk_cooperative_matrix_perf is a sample/benchmark demonstrating performance of using the VK_KHR_cooperative_matrix Vulkan extension, and the associated GL_KHR_cooperative_matrix GLSL extension. It is forked from Jeff Bolz's original version for the NVIDIA extensions.

The benchmark queries the supported matrix multiply sizes and precisions from the Vulkan implementation, and runs a couple different shaders at various tiles sizes and reports the performance in teraflops. All matrices are row-major in memory.

Running this application requires an implementation that supports the VK_KHR_cooperative_matrix extension. At the very least, NVIDIA Turing and AMD 7000 series GPUs, with recent drivers, should have the required support.

Modifying and rebuilding the shaders requires a glslangValidator.exe with GL_KHR_cooperative_matrix support. During development of this program, glslang commit 34d4f78f (Fix interaction between GL_EXT_mesh_shader and GL_EXT_fragment_shading_rate) was used.

To build the main program, recent Vulkan headers are needed. During development of this program, Vulkan headers 450ead1 (Update for Vulkan-Docs 1.3.261) was used.

About

Sample benchmark demonstrating the VK_KHR_cooperative_matrix extension

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.7%
  • Batchfile 5.1%
  • CMake 3.2%