VK_NV_shader_sm_builtins(3)

# VK_NV_shader_sm_builtins(3) Manual Page

## Name

VK_NV_shader_sm_builtins - device extension

Loading… please wait.

## Registered Extension Number

155

## Revision

1

## Extension and Version Dependencies

Version 1.1

## Contact

- Daniel Koch dgkoch

## Other Extension Metadata

Last Modified Date

  2019-05-28

Interactions and External Dependencies

  - This extension requires `SPV_NV_shader_sm_builtins`.

  - This extension provides API support for `GL_NV_shader_sm_builtins`

Contributors

  - Jeff Bolz, NVIDIA

  - Eric Werness, NVIDIA

## Description

This extension provides the ability to determine device-specific properties on NVIDIA GPUs. It provides the number of streaming multiprocessors (SMs), the maximum number of warps (subgroups) that can run on an SM, and shader builtins to enable invocations to identify which SM and warp a shader invocation is executing on.

This extension enables support for the SPIR-V `ShaderSMBuiltinsNV` capability.

These properties and built-ins should typically only be used for debugging purposes.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceShaderSMBuiltinsFeaturesNV

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceShaderSMBuiltinsPropertiesNV

## New Enum Constants

- `VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME`

- `VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV`

## New or Modified Built-In Variables

- `WarpsPerSMNV`

- `SMCountNV`

- `WarpIDNV`

- `SMIDNV`

## New SPIR-V Capabilities

- `ShaderSMBuiltinsNV`

## Issues

1. What should we call this extension?

   RESOLVED: `NV_shader_sm_builtins`. Other options considered included:

   - `NV_shader_smid` - but SMID is really easy to typo/confuse as SIMD.

   - `NV_shader_sm_info` - but Info is typically reserved for input structures

## Version History

- Revision 1, 2019-05-28 (Daniel Koch)

  - Internal revisions

## See Also

VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSMBuiltinsPropertiesNV

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0