Skip to content

Commit

Permalink
Add SPV_NV_cooperative_matrix2 and SPV_NV_tensor_addressing (#458)
Browse files Browse the repository at this point in the history
* Add SPV_NV_cooperative_matrix2 and SPV_NV_tensor_addressing

* Apply suggestions from code review

Co-authored-by: Victor Lomuller <victor@codeplay.com>

---------

Co-authored-by: Victor Lomuller <victor@codeplay.com>
  • Loading branch information
jeffbolznv and Naghasan authored Oct 23, 2024
1 parent 252dc2d commit 22c4d1b
Show file tree
Hide file tree
Showing 12 changed files with 1,092 additions and 0 deletions.
64 changes: 64 additions & 0 deletions include/spirv/unified1/spirv.bf
Original file line number Diff line number Diff line change
Expand Up @@ -1204,6 +1204,12 @@ namespace Spv
AtomicFloat16VectorNV = 5404,
RayTracingDisplacementMicromapNV = 5409,
RawAccessChainsNV = 5414,
CooperativeMatrixReductionsNV = 5430,
CooperativeMatrixConversionsNV = 5431,
CooperativeMatrixPerElementOperationsNV = 5432,
CooperativeMatrixTensorAddressingNV = 5433,
CooperativeMatrixBlockLoadsNV = 5434,
TensorAddressingNV = 5439,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
Expand Down Expand Up @@ -1437,6 +1443,46 @@ namespace Spv
Max = 0x7fffffff,
}

[AllowDuplicates, CRepr] public enum CooperativeMatrixReduceShift
{
Row = 0,
Column = 1,
CooperativeMatrixReduce2x2 = 2,
Max = 0x7fffffff,
}

[AllowDuplicates, CRepr] public enum CooperativeMatrixReduceMask
{
MaskNone = 0,
Row = 0x00000001,
Column = 0x00000002,
CooperativeMatrixReduce2x2 = 0x00000004,
}

[AllowDuplicates, CRepr] public enum TensorClampMode
{
Undefined = 0,
Constant = 1,
ClampToEdge = 2,
Repeat = 3,
RepeatMirrored = 4,
Max = 0x7fffffff,
}

[AllowDuplicates, CRepr] public enum TensorAddressingOperandsShift
{
TensorView = 0,
DecodeFunc = 1,
Max = 0x7fffffff,
}

[AllowDuplicates, CRepr] public enum TensorAddressingOperandsMask
{
MaskNone = 0,
TensorView = 0x00000001,
DecodeFunc = 0x00000002,
}

[AllowDuplicates, CRepr] public enum InitializationModeQualifier
{
InitOnDeviceReprogramINTEL = 0,
Expand Down Expand Up @@ -1958,6 +2004,7 @@ namespace Spv
OpReorderThreadWithHintNV = 5280,
OpTypeHitObjectNV = 5281,
OpImageSampleFootprintNV = 5283,
OpCooperativeMatrixConvertNV = 5293,
OpEmitMeshTasksEXT = 5294,
OpSetMeshOutputsEXT = 5295,
OpGroupNonUniformPartitionNV = 5296,
Expand All @@ -1982,9 +2029,26 @@ namespace Spv
OpCooperativeMatrixLengthNV = 5362,
OpBeginInvocationInterlockEXT = 5364,
OpEndInvocationInterlockEXT = 5365,
OpCooperativeMatrixReduceNV = 5366,
OpCooperativeMatrixLoadTensorNV = 5367,
OpCooperativeMatrixStoreTensorNV = 5368,
OpCooperativeMatrixPerElementOpNV = 5369,
OpTypeTensorLayoutNV = 5370,
OpTypeTensorViewNV = 5371,
OpCreateTensorLayoutNV = 5372,
OpTensorLayoutSetDimensionNV = 5373,
OpTensorLayoutSetStrideNV = 5374,
OpTensorLayoutSliceNV = 5375,
OpTensorLayoutSetClampValueNV = 5376,
OpCreateTensorViewNV = 5377,
OpTensorViewSetDimensionNV = 5378,
OpTensorViewSetStrideNV = 5379,
OpDemoteToHelperInvocation = 5380,
OpDemoteToHelperInvocationEXT = 5380,
OpIsHelperInvocationEXT = 5381,
OpTensorViewSetClipNV = 5382,
OpTensorLayoutSetBlockSizeNV = 5384,
OpCooperativeMatrixTransposeNV = 5390,
OpConvertUToImageNV = 5391,
OpConvertUToSamplerNV = 5392,
OpConvertImageToUNV = 5393,
Expand Down
Loading

0 comments on commit 22c4d1b

Please sign in to comment.