Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class NVCooperativeMatrix

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.system.*

This extension adds support for using cooperative matrix types in SPIR-V. Cooperative matrix types are medium-sized matrices that are primarily supported in compute shaders, where the storage for the matrix is spread across all invocations in some scope (usually a subgroup) and those invocations cooperate to efficiently perform matrix multiplies.

Cooperative matrix types are defined by the SPV_NV_cooperative_matrix SPIR-V extension and can be used with the GL_NV_cooperative_matrix GLSL extension.

This extension includes support for enumerating the matrix types and dimensions that are supported by the implementation.

VK_NV_cooperative_matrix
Name String
VK_NV_cooperative_matrix
Extension Type
Device extension
Registered Extension Number
250
Revision
1
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2
Contact
Other Extension Metadata
Last Modified Date
2019-02-05
Interactions and External Dependencies
Contributors
  • Jeff Bolz, NVIDIA
  • Markus Tavenrath, NVIDIA
  • Daniel Koch, NVIDIA

Field Summary

Modifier and TypeField and Description
public static final int
VK_COMPONENT_TYPE_FLOAT16_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_FLOAT32_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_FLOAT64_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_SINT16_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_SINT32_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_SINT64_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_SINT8_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_UINT16_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_UINT32_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_UINT64_NV

Extends VkComponentTypeKHR.

public static final int
VK_COMPONENT_TYPE_UINT8_NV

Extends VkComponentTypeKHR.

public static final String
public static final int
VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION

The extension specification version.

public static final int
VK_SCOPE_DEVICE_NV

Extends VkScopeKHR.

public static final int
VK_SCOPE_QUEUE_FAMILY_NV

Extends VkScopeKHR.

public static final int
VK_SCOPE_SUBGROUP_NV

Extends VkScopeKHR.

public static final int
VK_SCOPE_WORKGROUP_NV

Extends VkScopeKHR.

public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nvkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice, long
a pointer to an integer related to the number of cooperative matrix properties available or queried.
pPropertyCount
,
long pProperties)

Unsafe version of: GetPhysicalDeviceCooperativeMatrixPropertiesNV

public static int
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice
the physical device.
physicalDevice
,
IntBuffer
a pointer to an integer related to the number of cooperative matrix properties available or queried.
pPropertyCount
,
VkCooperativeMatrixPropertiesNV.Buffer
either NULL or a pointer to an array of VkCooperativeMatrixPropertiesNV structures.
pProperties
)

Returns properties describing what cooperative matrix types are supported.

public static int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_COMPONENT_TYPE_FLOAT16_NVback to summary
public static final int VK_COMPONENT_TYPE_FLOAT16_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_FLOAT32_NVback to summary
public static final int VK_COMPONENT_TYPE_FLOAT32_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_FLOAT64_NVback to summary
public static final int VK_COMPONENT_TYPE_FLOAT64_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_SINT16_NVback to summary
public static final int VK_COMPONENT_TYPE_SINT16_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_SINT32_NVback to summary
public static final int VK_COMPONENT_TYPE_SINT32_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_SINT64_NVback to summary
public static final int VK_COMPONENT_TYPE_SINT64_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_SINT8_NVback to summary
public static final int VK_COMPONENT_TYPE_SINT8_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_UINT16_NVback to summary
public static final int VK_COMPONENT_TYPE_UINT16_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_UINT32_NVback to summary
public static final int VK_COMPONENT_TYPE_UINT32_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_UINT64_NVback to summary
public static final int VK_COMPONENT_TYPE_UINT64_NV

Extends VkComponentTypeKHR.

Enum values:
VK_COMPONENT_TYPE_UINT8_NVback to summary
public static final int VK_COMPONENT_TYPE_UINT8_NV

Extends VkComponentTypeKHR.

Enum values:
VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAMEback to summary
public static final String VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME

The extension name.

VK_NV_COOPERATIVE_MATRIX_SPEC_VERSIONback to summary
public static final int VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION

The extension specification version.

VK_SCOPE_DEVICE_NVback to summary
public static final int VK_SCOPE_DEVICE_NV

Extends VkScopeKHR.

Enum values:
VK_SCOPE_QUEUE_FAMILY_NVback to summary
public static final int VK_SCOPE_QUEUE_FAMILY_NV

Extends VkScopeKHR.

Enum values:
VK_SCOPE_SUBGROUP_NVback to summary
public static final int VK_SCOPE_SUBGROUP_NV

Extends VkScopeKHR.

Enum values:
VK_SCOPE_WORKGROUP_NVback to summary
public static final int VK_SCOPE_WORKGROUP_NV

Extends VkScopeKHR.

Enum values:
VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NVback to summary
public static final int VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NVback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NVback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV

Extends VkStructureType.

Enum values:

Constructor Detail

NVCooperativeMatrixback to summary
protected NVCooperativeMatrix()

Method Detail

nvkGetPhysicalDeviceCooperativeMatrixPropertiesNVback to summary
public static int nvkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice, long pPropertyCount, long pProperties)

Unsafe version of: GetPhysicalDeviceCooperativeMatrixPropertiesNV

Parameters
pPropertyCount:long

a pointer to an integer related to the number of cooperative matrix properties available or queried.

vkGetPhysicalDeviceCooperativeMatrixPropertiesNVback to summary
public static int vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice, IntBuffer pPropertyCount, VkCooperativeMatrixPropertiesNV.Buffer pProperties)

Returns properties describing what cooperative matrix types are supported.

C Specification

To enumerate the supported cooperative matrix types and operations, call:


VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
    VkPhysicalDevice                            physicalDevice,
    uint32_t*                                   pPropertyCount,
    VkCooperativeMatrixPropertiesNV*            pProperties);
Description

If pProperties is NULL, then the number of cooperative matrix properties available is returned in pPropertyCount. Otherwise, pPropertyCount must point to a variable set by the user to the number of elements in the pProperties array, and on return the variable is overwritten with the number of structures actually written to pProperties. If pPropertyCount is less than the number of cooperative matrix properties available, at most pPropertyCount structures will be written, and INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the available cooperative matrix properties were returned.

Valid Usage (Implicit)
  • physicalDevice must be a valid VkPhysicalDevice handle
  • pPropertyCount must be a valid pointer to a uint32_t value
  • If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount VkCooperativeMatrixPropertiesNV structures
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkCooperativeMatrixPropertiesNV

Parameters
physicalDevice:VkPhysicalDevice

the physical device.

pPropertyCount:IntBuffer

a pointer to an integer related to the number of cooperative matrix properties available or queried.

pProperties:VkCooperativeMatrixPropertiesNV.Buffer

either NULL or a pointer to an array of VkCooperativeMatrixPropertiesNV structures.

Annotations
@NativeType:VkResult
vkGetPhysicalDeviceCooperativeMatrixPropertiesNVback to summary
public static int vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice, int[] pPropertyCount, VkCooperativeMatrixPropertiesNV.Buffer pProperties)

Array version of: GetPhysicalDeviceCooperativeMatrixPropertiesNV

Annotations
@NativeType:VkResult