mpsmatrix

package
v0.12.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Rendered for darwin/amd64

Overview

Package mpsmatrix provides purego-based Go bindings for the macOS MPSMatrix framework.

Apple documentation: https://developer.apple.com/documentation/mpsmatrix

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Acl_entry_id_t

type Acl_entry_id_t int64
const (
	ACL_FIRST_ENTRY Acl_entry_id_t = 0
	ACL_NEXT_ENTRY  Acl_entry_id_t = -1
	ACL_LAST_ENTRY  Acl_entry_id_t = -2
)

func (Acl_entry_id_t) String

func (e Acl_entry_id_t) String() string

type Acl_flag_t

type Acl_flag_t int64
const (
	ACL_FLAG_DEFER_INHERIT      Acl_flag_t = 1
	ACL_FLAG_NO_INHERIT         Acl_flag_t = 131072
	ACL_ENTRY_INHERITED         Acl_flag_t = 16
	ACL_ENTRY_FILE_INHERIT      Acl_flag_t = 32
	ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64
	ACL_ENTRY_LIMIT_INHERIT     Acl_flag_t = 128
	ACL_ENTRY_ONLY_INHERIT      Acl_flag_t = 256
)

func (Acl_flag_t) String

func (e Acl_flag_t) String() string

type Acl_perm_t

type Acl_perm_t int64
const (
	ACL_READ_DATA           Acl_perm_t = 2
	ACL_LIST_DIRECTORY      Acl_perm_t = 2
	ACL_WRITE_DATA          Acl_perm_t = 4
	ACL_ADD_FILE            Acl_perm_t = 4
	ACL_EXECUTE             Acl_perm_t = 8
	ACL_SEARCH              Acl_perm_t = 8
	ACL_DELETE              Acl_perm_t = 16
	ACL_APPEND_DATA         Acl_perm_t = 32
	ACL_ADD_SUBDIRECTORY    Acl_perm_t = 32
	ACL_DELETE_CHILD        Acl_perm_t = 64
	ACL_READ_ATTRIBUTES     Acl_perm_t = 128
	ACL_WRITE_ATTRIBUTES    Acl_perm_t = 256
	ACL_READ_EXTATTRIBUTES  Acl_perm_t = 512
	ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024
	ACL_READ_SECURITY       Acl_perm_t = 2048
	ACL_WRITE_SECURITY      Acl_perm_t = 4096
	ACL_CHANGE_OWNER        Acl_perm_t = 8192
	ACL_SYNCHRONIZE         Acl_perm_t = 1048576
)

func (Acl_perm_t) String

func (e Acl_perm_t) String() string

type Acl_tag_t

type Acl_tag_t int64
const (
	ACL_UNDEFINED_TAG  Acl_tag_t = 0
	ACL_EXTENDED_ALLOW Acl_tag_t = 1
	ACL_EXTENDED_DENY  Acl_tag_t = 2
)

func (Acl_tag_t) String

func (e Acl_tag_t) String() string

type Acl_type_t

type Acl_type_t int64
const (
	ACL_TYPE_EXTENDED Acl_type_t = 256
	ACL_TYPE_ACCESS   Acl_type_t = 0
	ACL_TYPE_DEFAULT  Acl_type_t = 1
	ACL_TYPE_AFS      Acl_type_t = 2
	ACL_TYPE_CODA     Acl_type_t = 3
	ACL_TYPE_NTFS     Acl_type_t = 4
	ACL_TYPE_NWFS     Acl_type_t = 5
)

func (Acl_type_t) String

func (e Acl_type_t) String() string

type Clockid_t

type Clockid_t int64

func (Clockid_t) String

func (e Clockid_t) String() string

type Dispatch_autorelease_frequency_t

type Dispatch_autorelease_frequency_t uint64
const (
	DISPATCH_AUTORELEASE_FREQUENCY_INHERIT   Dispatch_autorelease_frequency_t = 0
	DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1
	DISPATCH_AUTORELEASE_FREQUENCY_NEVER     Dispatch_autorelease_frequency_t = 2
)

func (Dispatch_autorelease_frequency_t) String

type Dispatch_block_flags_t

type Dispatch_block_flags_t uint64
const (
	DISPATCH_BLOCK_BARRIER           Dispatch_block_flags_t = 1
	DISPATCH_BLOCK_DETACHED          Dispatch_block_flags_t = 2
	DISPATCH_BLOCK_ASSIGN_CURRENT    Dispatch_block_flags_t = 4
	DISPATCH_BLOCK_NO_QOS_CLASS      Dispatch_block_flags_t = 8
	DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16
	DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32
)

func (Dispatch_block_flags_t) String

func (e Dispatch_block_flags_t) String() string

type Filesec_property_t

type Filesec_property_t int64
const (
	FILESEC_OWNER         Filesec_property_t = 1
	FILESEC_GROUP         Filesec_property_t = 2
	FILESEC_UUID          Filesec_property_t = 3
	FILESEC_MODE          Filesec_property_t = 4
	FILESEC_ACL           Filesec_property_t = 5
	FILESEC_GRPUUID       Filesec_property_t = 6
	FILESEC_ACL_RAW       Filesec_property_t = 100
	FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101
)

func (Filesec_property_t) String

func (e Filesec_property_t) String() string

type Idtype_t

type Idtype_t int64
const (
	P_ALL  Idtype_t = 0
	P_PID  Idtype_t = 1
	P_PGID Idtype_t = 2
)

func (Idtype_t) String

func (e Idtype_t) String() string

type Ipc_info_object_type_t

type Ipc_info_object_type_t int64
const (
	IPC_OTYPE_NONE                 Ipc_info_object_type_t = 0
	IPC_OTYPE_THREAD_CONTROL       Ipc_info_object_type_t = 1
	IPC_OTYPE_TASK_CONTROL         Ipc_info_object_type_t = 2
	IPC_OTYPE_HOST                 Ipc_info_object_type_t = 3
	IPC_OTYPE_HOST_PRIV            Ipc_info_object_type_t = 4
	IPC_OTYPE_PROCESSOR            Ipc_info_object_type_t = 5
	IPC_OTYPE_PROCESSOR_SET        Ipc_info_object_type_t = 6
	IPC_OTYPE_PROCESSOR_SET_NAME   Ipc_info_object_type_t = 7
	IPC_OTYPE_TIMER                Ipc_info_object_type_t = 8
	IPC_OTYPE_PORT_SUBST_ONCE      Ipc_info_object_type_t = 9
	IPC_OTYPE_MIG                  Ipc_info_object_type_t = 10
	IPC_OTYPE_MEMORY_OBJECT        Ipc_info_object_type_t = 11
	IPC_OTYPE_XMM_PAGER            Ipc_info_object_type_t = 12
	IPC_OTYPE_XMM_KERNEL           Ipc_info_object_type_t = 13
	IPC_OTYPE_XMM_REPLY            Ipc_info_object_type_t = 14
	IPC_OTYPE_UND_REPLY            Ipc_info_object_type_t = 15
	IPC_OTYPE_HOST_NOTIFY          Ipc_info_object_type_t = 16
	IPC_OTYPE_HOST_SECURITY        Ipc_info_object_type_t = 17
	IPC_OTYPE_LEDGER               Ipc_info_object_type_t = 18
	IPC_OTYPE_MAIN_DEVICE          Ipc_info_object_type_t = 19
	IPC_OTYPE_TASK_NAME            Ipc_info_object_type_t = 20
	IPC_OTYPE_SUBSYSTEM            Ipc_info_object_type_t = 21
	IPC_OTYPE_IO_DONE_QUEUE        Ipc_info_object_type_t = 22
	IPC_OTYPE_SEMAPHORE            Ipc_info_object_type_t = 23
	IPC_OTYPE_LOCK_SET             Ipc_info_object_type_t = 24
	IPC_OTYPE_CLOCK                Ipc_info_object_type_t = 25
	IPC_OTYPE_CLOCK_CTRL           Ipc_info_object_type_t = 26
	IPC_OTYPE_IOKIT_IDENT          Ipc_info_object_type_t = 27
	IPC_OTYPE_NAMED_ENTRY          Ipc_info_object_type_t = 28
	IPC_OTYPE_IOKIT_CONNECT        Ipc_info_object_type_t = 29
	IPC_OTYPE_IOKIT_OBJECT         Ipc_info_object_type_t = 30
	IPC_OTYPE_UPL                  Ipc_info_object_type_t = 31
	IPC_OTYPE_MEM_OBJ_CONTROL      Ipc_info_object_type_t = 32
	IPC_OTYPE_AU_SESSIONPORT       Ipc_info_object_type_t = 33
	IPC_OTYPE_FILEPORT             Ipc_info_object_type_t = 34
	IPC_OTYPE_LABELH               Ipc_info_object_type_t = 35
	IPC_OTYPE_TASK_RESUME          Ipc_info_object_type_t = 36
	IPC_OTYPE_VOUCHER              Ipc_info_object_type_t = 37
	IPC_OTYPE_VOUCHER_ATTR_CONTROL Ipc_info_object_type_t = 38
	IPC_OTYPE_WORK_INTERVAL        Ipc_info_object_type_t = 39
	IPC_OTYPE_UX_HANDLER           Ipc_info_object_type_t = 40
	IPC_OTYPE_UEXT_OBJECT          Ipc_info_object_type_t = 41
	IPC_OTYPE_ARCADE_REG           Ipc_info_object_type_t = 42
	IPC_OTYPE_EVENTLINK            Ipc_info_object_type_t = 43
	IPC_OTYPE_TASK_INSPECT         Ipc_info_object_type_t = 44
	IPC_OTYPE_TASK_READ            Ipc_info_object_type_t = 45
	IPC_OTYPE_THREAD_INSPECT       Ipc_info_object_type_t = 46
	IPC_OTYPE_THREAD_READ          Ipc_info_object_type_t = 47
	IPC_OTYPE_SUID_CRED            Ipc_info_object_type_t = 48
	IPC_OTYPE_HYPERVISOR           Ipc_info_object_type_t = 49
	IPC_OTYPE_TASK_ID_TOKEN        Ipc_info_object_type_t = 50
	IPC_OTYPE_TASK_FATAL           Ipc_info_object_type_t = 51
	IPC_OTYPE_KCDATA               Ipc_info_object_type_t = 52
	IPC_OTYPE_EXCLAVES_RESOURCE    Ipc_info_object_type_t = 53
	IPC_OTYPE_THREAD_RESUME        Ipc_info_object_type_t = 54
	IPC_OTYPE_UNKNOWN              Ipc_info_object_type_t = 4294967295
)

func (Ipc_info_object_type_t) String

func (e Ipc_info_object_type_t) String() string

type Launch_data_type_t

type Launch_data_type_t int64
const (
	LAUNCH_DATA_DICTIONARY Launch_data_type_t = 1
	LAUNCH_DATA_ARRAY      Launch_data_type_t = 2
	LAUNCH_DATA_FD         Launch_data_type_t = 3
	LAUNCH_DATA_INTEGER    Launch_data_type_t = 4
	LAUNCH_DATA_REAL       Launch_data_type_t = 5
	LAUNCH_DATA_BOOL       Launch_data_type_t = 6
	LAUNCH_DATA_STRING     Launch_data_type_t = 7
	LAUNCH_DATA_OPAQUE     Launch_data_type_t = 8
	LAUNCH_DATA_ERRNO      Launch_data_type_t = 9
	LAUNCH_DATA_MACHPORT   Launch_data_type_t = 10
)

func (Launch_data_type_t) String

func (e Launch_data_type_t) String() string

type MDLabelDomain

type MDLabelDomain int64

@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().

const (
	KMDLabelUserDomain  MDLabelDomain = 0
	KMDLabelLocalDomain MDLabelDomain = 1
)

func (MDLabelDomain) String

func (e MDLabelDomain) String() string

type MDQueryOptionFlags

type MDQueryOptionFlags int64
const (
	KMDQuerySynchronous        MDQueryOptionFlags = 1
	KMDQueryWantsUpdates       MDQueryOptionFlags = 4
	KMDQueryAllowFSTranslation MDQueryOptionFlags = 8
)

func (MDQueryOptionFlags) String

func (e MDQueryOptionFlags) String() string

type MDQuerySortOptionFlags

type MDQuerySortOptionFlags int64

@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.

const (
	KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)

func (MDQuerySortOptionFlags) String

func (e MDQuerySortOptionFlags) String() string

type MPSCustomKernelIndex

type MPSCustomKernelIndex int64
const (
	MPSCustomKernelIndexDestIndex     MPSCustomKernelIndex = 0
	MPSCustomKernelIndexSrc0Index     MPSCustomKernelIndex = 0
	MPSCustomKernelIndexSrc1Index     MPSCustomKernelIndex = 1
	MPSCustomKernelIndexSrc2Index     MPSCustomKernelIndex = 2
	MPSCustomKernelIndexSrc3Index     MPSCustomKernelIndex = 3
	MPSCustomKernelIndexSrc4Index     MPSCustomKernelIndex = 4
	MPSCustomKernelIndexUserDataIndex MPSCustomKernelIndex = 30
)

func (MPSCustomKernelIndex) String

func (e MPSCustomKernelIndex) String() string

type MPSDeviceCapsValues

type MPSDeviceCapsValues int64
const (
	MPSDeviceCapsNull                        MPSDeviceCapsValues = 0
	MPSDeviceSupportsReadableArrayOfTextures MPSDeviceCapsValues = 1
	MPSDeviceSupportsWritableArrayOfTextures MPSDeviceCapsValues = 2
	MPSDeviceSupportsReadWriteTextures       MPSDeviceCapsValues = 4
	MPSDeviceSupportsSimdgroupBarrier        MPSDeviceCapsValues = 8
	MPSDeviceSupportsQuadShuffle             MPSDeviceCapsValues = 16
	MPSDeviceSupportsSimdShuffle             MPSDeviceCapsValues = 32
	MPSDeviceSupportsSimdReduction           MPSDeviceCapsValues = 64
	MPSDeviceSupportsFloat32Filtering        MPSDeviceCapsValues = 128
	MPSDeviceSupportsNorm16BicubicFiltering  MPSDeviceCapsValues = 256
	MPSDeviceSupportsFloat16BicubicFiltering MPSDeviceCapsValues = 512
	MPSDeviceIsAppleDevice                   MPSDeviceCapsValues = 1024
	MPSDeviceSupportsSimdShuffleAndFill      MPSDeviceCapsValues = 2048
	MPSDeviceSupportsBFloat16Arithmetic      MPSDeviceCapsValues = 4096
	MPSDeviceCapsLast                        MPSDeviceCapsValues = 8192
)

func (MPSDeviceCapsValues) String

func (e MPSDeviceCapsValues) String() string

type MPSImageType

type MPSImageType int64
const (
	MPSImageType2d                    MPSImageType = 0
	MPSImageType2d_array              MPSImageType = 1
	MPSImageTypeArray2d               MPSImageType = 2
	MPSImageTypeArray2d_array         MPSImageType = 3
	MPSImageType_ArrayMask            MPSImageType = 1
	MPSImageType_BatchMask            MPSImageType = 2
	MPSImageType_typeMask             MPSImageType = 3
	MPSImageType_noAlpha              MPSImageType = 4
	MPSImageType_texelFormatMask      MPSImageType = 56
	MPSImageType_texelFormatShift     MPSImageType = 3
	MPSImageType_texelFormatStandard  MPSImageType = 0
	MPSImageType_texelFormatUnorm8    MPSImageType = 8
	MPSImageType_texelFormatFloat16   MPSImageType = 16
	MPSImageType_texelFormatBFloat16  MPSImageType = 24
	MPSImageType_bitCount             MPSImageType = 6
	MPSImageType_mask                 MPSImageType = 63
	MPSImageType2d_noAlpha            MPSImageType = 4
	MPSImageType2d_array_noAlpha      MPSImageType = 5
	MPSImageTypeArray2d_noAlpha       MPSImageType = 6
	MPSImageTypeArray2d_array_noAlpha MPSImageType = 7
)

func (MPSImageType) String

func (e MPSImageType) String() string

type MPSMatrixBinaryKernel

type MPSMatrixBinaryKernel struct {
	mpscore.MPSKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixbinarykernel

func MPSMatrixBinaryKernelFromID

func MPSMatrixBinaryKernelFromID(id objc.ID) *MPSMatrixBinaryKernel

func (*MPSMatrixBinaryKernel) BatchSize

func (o *MPSMatrixBinaryKernel) BatchSize() uint

@property batchSize @discussion The number of matrices in the batch to process. This property is modifiable and by default allows all matrices available at encoding time to be processed. If a single matrix should be processed set this value to 1.

func (*MPSMatrixBinaryKernel) BatchStart

func (o *MPSMatrixBinaryKernel) BatchStart() uint

@property batchStart @discussion The index of the first matrix in the batch. This property is modifiable and defaults to 0 at initialization time. If batch processing should begin at a different matrix this value should be modified prior to encoding the kernel.

func (*MPSMatrixBinaryKernel) PrimarySourceMatrixOrigin

func (o *MPSMatrixBinaryKernel) PrimarySourceMatrixOrigin() metal.MTLOrigin

@property primarySourceMatrixOrigin @discussion The origin, relative to [0, 0] in the primary source matrix, at which to start reading values. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

func (*MPSMatrixBinaryKernel) ResultMatrixOrigin

func (o *MPSMatrixBinaryKernel) ResultMatrixOrigin() metal.MTLOrigin

@property resultMatrixOrigin @discussion The origin, relative to [0, 0] in the result matrix, at which to start writing results. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

func (*MPSMatrixBinaryKernel) SecondarySourceMatrixOrigin

func (o *MPSMatrixBinaryKernel) SecondarySourceMatrixOrigin() metal.MTLOrigin

@property secondarySourceMatrixOrigin @discussion The origin, relative to [0, 0] in the secondary source matrix, at which to start reading values. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

func (*MPSMatrixBinaryKernel) SetBatchSize

func (o *MPSMatrixBinaryKernel) SetBatchSize(batchSize uint)

func (*MPSMatrixBinaryKernel) SetBatchStart

func (o *MPSMatrixBinaryKernel) SetBatchStart(batchStart uint)

func (*MPSMatrixBinaryKernel) SetPrimarySourceMatrixOrigin

func (o *MPSMatrixBinaryKernel) SetPrimarySourceMatrixOrigin(primarySourceMatrixOrigin metal.MTLOrigin)

func (*MPSMatrixBinaryKernel) SetResultMatrixOrigin

func (o *MPSMatrixBinaryKernel) SetResultMatrixOrigin(resultMatrixOrigin metal.MTLOrigin)

func (*MPSMatrixBinaryKernel) SetSecondarySourceMatrixOrigin

func (o *MPSMatrixBinaryKernel) SetSecondarySourceMatrixOrigin(secondarySourceMatrixOrigin metal.MTLOrigin)

type MPSMatrixCopy

type MPSMatrixCopy struct {
	mpscore.MPSKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixcopy

func MPSMatrixCopyFromID

func MPSMatrixCopyFromID(id objc.ID) *MPSMatrixCopy

func (*MPSMatrixCopy) CopyColumns

func (o *MPSMatrixCopy) CopyColumns() uint

@abstract The number of columns to copy for each copy operation

func (*MPSMatrixCopy) CopyRows

func (o *MPSMatrixCopy) CopyRows() uint

@abstract The number of rows to copy for each copy operation

func (*MPSMatrixCopy) DestinationsAreTransposed

func (o *MPSMatrixCopy) DestinationsAreTransposed() bool

@abstract If YES, the destinations are in row major storage order

func (*MPSMatrixCopy) EncodeToCommandBufferCopyDescriptor

func (o *MPSMatrixCopy) EncodeToCommandBufferCopyDescriptor(commandBuffer metal.MTLCommandBuffer, copyDescriptor *MPSMatrixCopyDescriptor)

@abstract Encode the copy operations to the command buffer @param commandBuffer A valid MTLCommandBuffer to receive the encoded kernel. @param copyDescriptor The descriptor that defines the copy operator

func (*MPSMatrixCopy) EncodeToCommandBufferCopyDescriptorRowPermuteIndicesRowPermuteOffsetColumnPermuteIndicesColumnPermuteOffset

func (o *MPSMatrixCopy) EncodeToCommandBufferCopyDescriptorRowPermuteIndicesRowPermuteOffsetColumnPermuteIndicesColumnPermuteOffset(commandBuffer metal.MTLCommandBuffer, copyDescriptor *MPSMatrixCopyDescriptor, rowPermuteIndices *mpscore.MPSVector, rowPermuteOffset uint, columnPermuteIndices *mpscore.MPSVector, columnPermuteOffset uint)

@abstract Encode the copy operations to the command buffer. This of the encode version support permuting the outputs with custom vectors of indices. The permutations are defined on the destination indices and are the same for each copy operation. @param commandBuffer A valid MTLCommandBuffer to receive the encoded kernel. @param copyDescriptor The descriptor that defines the copy operator @param rowPermuteIndices If not nil then the output row index is 'rowPermuteIndices[i] + rowOffset' instead of 'i + rowOffset', where 'i' is the local row index of the copy operation. Note: if destinationsAreTransposed is set to YES then the destination transpose is performed before permutations. @param rowPermuteOffset Offset in numbers to apply to the 'rowPermuteIndices' vector. @param columnPermuteIndices If not nil then the output column index is 'columnPermuteIndices[i] + columnOffset' instead of 'i + columnOffset', where 'i' is the local column index of the copy operation. Note: if destinationsAreTransposed is set to YES then the destination transpose is performed before permutations. @param columnPermuteOffset Offset in numbers to apply to the 'columnPermuteIndices' vector.

func (*MPSMatrixCopy) InitWithCoderDevice

func (o *MPSMatrixCopy) InitWithCoderDevice(aDecoder *foundation.NSCoder, device metal.MTLDevice) *MPSMatrixCopy

@abstract NSSecureCoding compatability @discussion See @ref MPSKernel#initWithCoder. @param aDecoder The NSCoder subclass with your serialized MPSMatrixLookUpAndCopy @param device The MTLDevice on which to make the MPSMatrixLookUpAndCopy @return A new MPSMatrixLookUpAndCopy object, or nil if failure.

func (*MPSMatrixCopy) InitWithDeviceCopyRowsCopyColumnsSourcesAreTransposedDestinationsAreTransposed

func (o *MPSMatrixCopy) InitWithDeviceCopyRowsCopyColumnsSourcesAreTransposedDestinationsAreTransposed(device metal.MTLDevice, copyRows uint, copyColumns uint, sourcesAreTransposed bool, destinationsAreTransposed bool) *MPSMatrixCopy

@abstract Initialize a copy operator @param copyRows The number of rows to copy for each copy operation @param copyColumns The number of matrix columns to copy in each copy operation @param sourcesAreTransposed If YES, the sources are in column major storage order @param destinationsAreTransposed If YES, the destinations are in column major storage order

func (*MPSMatrixCopy) SourcesAreTransposed

func (o *MPSMatrixCopy) SourcesAreTransposed() bool

@abstract If YES, the sources are in row major storage order

type MPSMatrixCopyDescriptor

type MPSMatrixCopyDescriptor struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixcopydescriptor

func MPSMatrixCopyDescriptorDescriptorWithSourceMatrixDestinationMatrixOffsets

func MPSMatrixCopyDescriptorDescriptorWithSourceMatrixDestinationMatrixOffsets(sourceMatrix *mpscore.MPSMatrix, destinationMatrix *mpscore.MPSMatrix, offsets MPSMatrixCopyOffsets) *MPSMatrixCopyDescriptor

@abstract convenience allocator for single copies

func MPSMatrixCopyDescriptorFromID

func MPSMatrixCopyDescriptorFromID(id objc.ID) *MPSMatrixCopyDescriptor

func (*MPSMatrixCopyDescriptor) InitWithDeviceCount

func (o *MPSMatrixCopyDescriptor) InitWithDeviceCount(device metal.MTLDevice, count uint) *MPSMatrixCopyDescriptor

@abstract initialize a MPSMatrixCopyDescriptor with default values. @discussion Use -setCopyOperationAtIndex:sourceMatrix:destinationMatrix:copyOffsets to initialize. All indices must be initialized before use. @param device The device on which the copy will be performed @param count The number of copy operations the object will encode @return A MPSMatrixCopyDescriptor. It still needs to be initialized with -setCopyOperationAtIndex:sourceMatrix:destinationMatrix:copyOffsets

func (*MPSMatrixCopyDescriptor) InitWithSourceMatricesDestinationMatricesOffsetVectorOffset

func (o *MPSMatrixCopyDescriptor) InitWithSourceMatricesDestinationMatricesOffsetVectorOffset(sourceMatrices *foundation.NSArray[*mpscore.MPSMatrix], destinationMatrices *foundation.NSArray[*mpscore.MPSMatrix], offsets *mpscore.MPSVector, byteOffset uint) *MPSMatrixCopyDescriptor

@abstract Initialize a MPSMatrixCopyDescriptor using offsets generated on the GPU @discussion Use this method when the offsets needed are coming from GPU based computation. @param sourceMatrices A list of matrices from which the matrix data is read @param destinationMatrices A list of matrices to which to write the data. The count must match the number of source matrices. @param offsets A MPSVector of type MPSDataTypeUInt32 containing the list of offsets, stored as a packed array of MPSMatrixCopyOffsets. @param byteOffset A byte offset into the offsets vector where the data starts in 'offsets'. This value must be a multiple of 16. @result A valid MPSMatrixCopyDescriptor to represent the list of copy operations

func (*MPSMatrixCopyDescriptor) SetCopyOperationAtIndexSourceMatrixDestinationMatrixOffsets

func (o *MPSMatrixCopyDescriptor) SetCopyOperationAtIndexSourceMatrixDestinationMatrixOffsets(index uint, sourceMatrix *mpscore.MPSMatrix, destinationMatrix *mpscore.MPSMatrix, offsets MPSMatrixCopyOffsets)

@abstract Initialize a MPSMatrixCopyDescriptor using offsets generated on the CPU @discussion This is for one at a time intialization of the copy operations @param index The index of the copy operation @param sourceMatrix The source matrix for this copy operation @param destinationMatrix The destination matrix for this copy operation @param offsets The offsets to use for the copy operation

type MPSMatrixCopyOffsets

type MPSMatrixCopyOffsets struct {
	SourceRowOffset         uint32
	SourceColumnOffset      uint32
	DestinationRowOffset    uint32
	DestinationColumnOffset uint32
}

type MPSMatrixDecompositionCholesky

type MPSMatrixDecompositionCholesky struct {
	MPSMatrixUnaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixdecompositioncholesky

func MPSMatrixDecompositionCholeskyFromID

func MPSMatrixDecompositionCholeskyFromID(id objc.ID) *MPSMatrixDecompositionCholesky

func (*MPSMatrixDecompositionCholesky) EncodeToCommandBufferSourceMatrixResultMatrixStatus

func (o *MPSMatrixDecompositionCholesky) EncodeToCommandBufferSourceMatrixResultMatrixStatus(commandBuffer metal.MTLCommandBuffer, sourceMatrix *mpscore.MPSMatrix, resultMatrix *mpscore.MPSMatrix, status metal.MTLBuffer)

@abstract Encode a MPSMatrixDecompositionCholesky kernel into a command Buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded filter @param sourceMatrix A valid MPSMatrix containing the source data. Must have enough space to hold a order x order matrix. @param resultMatrix A valid MPSMatrix to contain the result. Must have enough space to hold a order x order matrix. @param status A MTLBuffer which indicates the resulting MPSMatrixDecompositionStatus value. @discussion This function encodes the MPSMatrixDecompositionCholesky object to a valid command buffer. If during the factorization a leading minor of the matrix is found to be not positive definite, MPSMatrixDecompositionNonPositiveDefinite will be returned in the provided status buffer. Previously computed pivots and the non positive pivot are written to the result, but the factorization does not complete. The data referenced by the MTLBuffer is not valid until the command buffer has completed execution. If the matrix return status is not desired NULL may be provided. If the return status is MPSMatrixDecompositionStatusSuccess, resultMatrix contains the resulting factors in its lower or upper triangular regions respectively. This kernel functions either in-place, if the result matrix completely aliases the source matrix, or out-of-place. If there is any partial overlap between input and output data the results are undefined.

func (*MPSMatrixDecompositionCholesky) InitWithDeviceLowerOrder

func (o *MPSMatrixDecompositionCholesky) InitWithDeviceLowerOrder(device metal.MTLDevice, lower bool, order uint) *MPSMatrixDecompositionCholesky

@abstract Initialize an MPSMatrixDecompositionCholesky object on a device @param device The device on which the kernel will execute. @param lower A boolean value indicating if the lower triangular part of the source matrix is stored. If lower = YES the lower triangular part will be used and the factor will be written to the lower triangular part of the result, otherwise the upper triangular part will be used and the factor will be written to the upper triangular part. @param order The number of rows and columns in the source matrix. @return A valid MPSMatrixDecompositionCholesky object or nil, if failure.

type MPSMatrixDecompositionLU

type MPSMatrixDecompositionLU struct {
	MPSMatrixUnaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixdecompositionlu

func MPSMatrixDecompositionLUFromID

func MPSMatrixDecompositionLUFromID(id objc.ID) *MPSMatrixDecompositionLU

func (*MPSMatrixDecompositionLU) EncodeToCommandBufferSourceMatrixResultMatrixPivotIndicesStatus

func (o *MPSMatrixDecompositionLU) EncodeToCommandBufferSourceMatrixResultMatrixPivotIndicesStatus(commandBuffer metal.MTLCommandBuffer, sourceMatrix *mpscore.MPSMatrix, resultMatrix *mpscore.MPSMatrix, pivotIndices *mpscore.MPSMatrix, status metal.MTLBuffer)

@abstract Encode a MPSMatrixDecompositionLU kernel into a command Buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded filter @param sourceMatrix A valid MPSMatrix containing the source data. Must have enough space to hold a rows x columns matrix. @param resultMatrix A valid MPSMatrix to contain the result. Must have enough space to hold a rows x columns matrix. @param pivotIndices A valid MPSMatrix to contain the pivot indices. Must have enough space to hold an array of size 1xmin(rows, columns) values. Element type must be MPSDataTypeUInt32. @param status A MTLBuffer which indicates the resulting MPSMatrixDecompositionStatus value. @discussion This function encodes the MPSMatrixDecompositionLU object to a valid command buffer. Upon completion the array pivotIndices contains, for each index i, the row interchanged with row i. If during the computation U[k, k], for some k, is determined to be exactly zero MPSMatrixDecompositionStatusSingular will be returned in the provided status buffer. The data referenced by the MTLBuffer is not valid until the command buffer has completed execution. If the matrix return status is not desired NULL may be provided. Upon successful factorization, resultMatrix contains the resulting lower triangular factor (without the unit diagonal elements) in its strictly lower triangular region and the upper triangular factor in its upper triangular region. This kernel functions either in-place, if the result matrix completely aliases the source matrix, or out-of-place. If there is any partial overlap between input and output data the results are undefined.

func (*MPSMatrixDecompositionLU) InitWithDeviceRowsColumns

func (o *MPSMatrixDecompositionLU) InitWithDeviceRowsColumns(device metal.MTLDevice, rows uint, columns uint) *MPSMatrixDecompositionLU

@abstract Initialize an MPSMatrixDecompositionLU object on a device @param device The device on which the kernel will execute. @param rows The number of rows in the source matrix. @param columns The number of columns in the source matrix. @return A valid MPSMatrixDecompositionLU object or nil, if failure.

type MPSMatrixDecompositionStatus

type MPSMatrixDecompositionStatus int32
const (
	MPSMatrixDecompositionStatusSuccess             MPSMatrixDecompositionStatus = 0
	MPSMatrixDecompositionStatusFailure             MPSMatrixDecompositionStatus = -1
	MPSMatrixDecompositionStatusSingular            MPSMatrixDecompositionStatus = -2
	MPSMatrixDecompositionStatusNonPositiveDefinite MPSMatrixDecompositionStatus = -3
)

func (MPSMatrixDecompositionStatus) String

type MPSMatrixFindTopK

type MPSMatrixFindTopK struct {
	MPSMatrixUnaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixfindtopk

func MPSMatrixFindTopKFromID

func MPSMatrixFindTopKFromID(id objc.ID) *MPSMatrixFindTopK

func (*MPSMatrixFindTopK) EncodeToCommandBufferInputMatrixResultIndexMatrixResultValueMatrix

func (o *MPSMatrixFindTopK) EncodeToCommandBufferInputMatrixResultIndexMatrixResultValueMatrix(commandBuffer metal.MTLCommandBuffer, inputMatrix *mpscore.MPSMatrix, resultIndexMatrix *mpscore.MPSMatrix, resultValueMatrix *mpscore.MPSMatrix)

@abstract Encode a MPSMatrixFindTopK object to a command buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded kernel. @param inputMatrix A valid MPSMatrix object which specifies the input matrix. @param resultIndexMatrix A valid MPSMatrix object which specifies the matrix which will be overwritten by the result indices. This matrix must have datatype MPSDataTypeUInt32. @param resultValueMatrix A valid MPSMatrix object which specifies the matrix which will be overwritten by the result values. @discussion Certain constraints apply to the sizes of the matrices depending on the sizes requested at initialization time as well as the origins at the time this routine is called: Both result matrices must be large enough to hold a two dimensional array of 'sourceRows' rows and 'numberOfTopKValues' columns beginning at resultMatrixOrigin. The source matrix must be large enough to contain at least 'numberOfTopKValues' values starting from sourceMatrixOrigin.y. Each matrix within the range specified by batchStart and batchSize, which also specifies a valid set of matrices within inputMatrix, resultIndexMatrix and resultValueMatrix, will be processed. The datatypes of the matrices inputMatrix and resultValueMatrix must match and be either MPSDataTypeFloat32 or MPSDataTypeFloat16.

func (*MPSMatrixFindTopK) IndexOffset

func (o *MPSMatrixFindTopK) IndexOffset() uint

@property indexOffset @discussion Specifies a number that will be added to all the indices written to resultIndexMatrix in encodeToCommandBuffer. This value can be used to offset later computations for example by adding the value for the source matrix column offset sourceMatrixOrigin.y. Example: Let numberOfTopKValues be 3, let the source be the following: source = [ 6.0, 3.0, 8.0, 1.0, 9.0, 4.0, 5.0 ] and let the sourceMatrixOrigin.y = 2. Then if indexOffset = 2 then the result value and result index matrices will be: result values = [ 9.0, 8.0, 5.0 ] result indices = [ 4 , 2 , 6 ], which gives the user indices into the original source matrix. On the other hand if the indexOffset = 0 then the results are as follows: result values = [ 9.0, 8.0, 5.0 ] result indices = [ 2 , 0 , 4 ], which on the other hand gives the user indices into the submatrix starting from sourceMatrixOrigin.y == 2. This property is modifiable and defaults to 0. If a different behavior is desired then this should be modified prior to encoding the kernel.

func (*MPSMatrixFindTopK) InitWithCoderDevice

func (o *MPSMatrixFindTopK) InitWithCoderDevice(aDecoder *foundation.NSCoder, device metal.MTLDevice) *MPSMatrixFindTopK

func (*MPSMatrixFindTopK) InitWithDeviceNumberOfTopKValues

func (o *MPSMatrixFindTopK) InitWithDeviceNumberOfTopKValues(device metal.MTLDevice, numberOfTopKValues uint) *MPSMatrixFindTopK

func (*MPSMatrixFindTopK) NumberOfTopKValues

func (o *MPSMatrixFindTopK) NumberOfTopKValues() uint

@property numberOfTopKValues @discussion The number of highest values (and their indices) to be found in each row by the kernel. This property is initialized in the kernel initialization call initWithDevice, but can be modified before encoding the kernel. Must be less or equal to 16 and requesting more values results in undefined behavior. It is the user's responsibility to ensure that the resultIndexMatrix and resultValueMatrix parameters in encodeToCommandBuffer are large enough to accommodate the results of this operation, otherwise the results of the encode call are undefined.

func (*MPSMatrixFindTopK) SetIndexOffset

func (o *MPSMatrixFindTopK) SetIndexOffset(indexOffset uint)

func (*MPSMatrixFindTopK) SetNumberOfTopKValues

func (o *MPSMatrixFindTopK) SetNumberOfTopKValues(numberOfTopKValues uint)

func (*MPSMatrixFindTopK) SetSourceColumns

func (o *MPSMatrixFindTopK) SetSourceColumns(sourceColumns uint)

func (*MPSMatrixFindTopK) SetSourceRows

func (o *MPSMatrixFindTopK) SetSourceRows(sourceRows uint)

func (*MPSMatrixFindTopK) SourceColumns

func (o *MPSMatrixFindTopK) SourceColumns() uint

@property sourceColumns @discussion The number of columns to consider from the source in the operation. This property is modifiable and defaults to NSUIntegerMax and the number is adjusted dynamically at kernel encode time (see encodeToCommandBuffer) to fit into the source matrix available starting from sourceMatrixOrigin.y, indicating that by default the whole source matrix is used. If a different size is desired then this should be modified prior to encoding the kernel. It is the user's responsibility to ensure that the resultIndexMatrix and resultValueMatrix parameters in encodeToCommandBuffer are large enough to accommodate the results of this operation, otherwise the results of the encode call are undefined. NOTE: sourceMatrixOrigin and resultMatrixOrigin from MPSMatrixUnaryKernel can be used to control the starting points in the source and destination at kernel encode time (see encodeToCommandBuffer).

func (*MPSMatrixFindTopK) SourceRows

func (o *MPSMatrixFindTopK) SourceRows() uint

@property sourceRows @discussion The number of rows to consider from the source in the operation. This property is modifiable and defaults to NSUIntegerMax and the number is adjusted dynamically at kernel encode time (see encodeToCommandBuffer) to fit into the source matrix available starting from sourceMatrixOrigin.x, indicating that by default the whole source matrix is used. If a different size is desired then this should be modified prior to encoding the kernel. It is the user's responsibility to ensure that the resultIndexMatrix and resultValueMatrix parameters in encodeToCommandBuffer are large enough to accommodate the results of this operation, otherwise the results of the encode call are undefined. NOTE: sourceMatrixOrigin and resultMatrixOrigin from MPSMatrixUnaryKernel can be used to control the starting points in the source and destination at kernel encode time (see encodeToCommandBuffer).

type MPSMatrixLogSoftMax

type MPSMatrixLogSoftMax struct {
	MPSMatrixSoftMax
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixlogsoftmax

func MPSMatrixLogSoftMaxFromID

func MPSMatrixLogSoftMaxFromID(id objc.ID) *MPSMatrixLogSoftMax

type MPSMatrixMultiplication

type MPSMatrixMultiplication struct {
	mpscore.MPSKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixmultiplication

func MPSMatrixMultiplicationFromID

func MPSMatrixMultiplicationFromID(id objc.ID) *MPSMatrixMultiplication

func (*MPSMatrixMultiplication) BatchSize

func (o *MPSMatrixMultiplication) BatchSize() uint

@property batchSize @discussion The number of matrices in the batch to process. This property is modifiable and by default allows all matrices available at encoding time to be processed.

func (*MPSMatrixMultiplication) BatchStart

func (o *MPSMatrixMultiplication) BatchStart() uint

@property batchStart @discussion The index of the first matrix in the batch. This property is modifiable and defaults to 0 at initialization time. If batch processing should begin at a different matrix this value should be modified prior to encoding the kernel.

func (*MPSMatrixMultiplication) EncodeToCommandBufferLeftMatrixRightMatrixResultMatrix

func (o *MPSMatrixMultiplication) EncodeToCommandBufferLeftMatrixRightMatrixResultMatrix(commandBuffer metal.MTLCommandBuffer, leftMatrix *mpscore.MPSMatrix, rightMatrix *mpscore.MPSMatrix, resultMatrix *mpscore.MPSMatrix)

@abstract Encode a MPSMatrixMultiplication object to a command buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded kernel. @param leftMatrix A valid MPSMatrix object which specifies the left input matrix. @param rightMatrix A valid MPSMatrix object which specifies the right input matrix. @param resultMatrix A valid MPSMatrix object which specifies the addend matrix which will also be overwritten by the result. @discussion Certain constraints apply to the sizes of the matrices depending on the transposition operations and sizes requested at initialization time as well as the origins at the time this routine is called: The left input matrix must be large enough to hold an array of size resultRows x interiorColumns elements beginning at leftMatrixOrigin. The right input matrix must be large enough to hold an array of size interiorColumns x resultColumns elements beginning at rightMatrixOrigin. The result matrix must be large enough to hold an array of size resultRows x resultColumns elements beginning at resultMatrixOrigin. Each matrix within the range specified by batchStart and batchSize, which also specifies a valid set of matrices within leftMatrix, rightMatrix, and resultMatrix, will be processed.

func (*MPSMatrixMultiplication) InitWithDeviceResultRowsResultColumnsInteriorColumns

func (o *MPSMatrixMultiplication) InitWithDeviceResultRowsResultColumnsInteriorColumns(device metal.MTLDevice, resultRows uint, resultColumns uint, interiorColumns uint) *MPSMatrixMultiplication

@abstract Convenience initialization for a matrix-matrix multiplication with no transpositions, unit scaling of the product, and no accumulation of the result. The scaling factors alpha and beta are taken to be 1.0 and 0.0 respectively. @param device The device on which the kernel will execute. @param resultRows The number of rows in the result matrix, M in BLAS GEMM description. @param resultColumns The number of columns in the result matrix, N in BLAS GEMM description. @param interiorColumns The number of columns of the left input matrix. K in BLAS GEMM description. @return A valid MPSMatrixMultiplication object or nil, if failure.

func (*MPSMatrixMultiplication) InitWithDeviceTransposeLeftTransposeRightResultRowsResultColumnsInteriorColumnsAlphaBeta

func (o *MPSMatrixMultiplication) InitWithDeviceTransposeLeftTransposeRightResultRowsResultColumnsInteriorColumnsAlphaBeta(device metal.MTLDevice, transposeLeft bool, transposeRight bool, resultRows uint, resultColumns uint, interiorColumns uint, alpha float64, beta float64) *MPSMatrixMultiplication

@abstract Initialize an MPSMatrixMultiplication object on a device for a given size and desired transpose and scale values. @param device The device on which the kernel will execute. @param transposeLeft A boolean value which indicates if the left input matrix should be used in transposed form. If 'YES' then op(A) = A**T, otherwise op(A) = A. @param transposeRight A boolean value which indicates if the right input matrix should be used in transposed form. If 'YES' then op(B) = B**T, otherwise op(B) = B. @param resultRows The number of rows in the result matrix, M in BLAS GEMM description. @param resultColumns The number of columns in the result matrix, N in BLAS GEMM description. @param interiorColumns The number of columns of the left input matrix after the appropriate transpose operation has been applied. K in BLAS GEMM description. @param alpha The scale factor to apply to the product. Specified in double precision. Will be converted to the appropriate precision in the implementation subject to rounding and/or clamping as necessary. @param beta The scale factor to apply to the initial values of C. Specified in double precision. Will be converted to the appropriate precision in the implementation subject to rounding and/or clamping as necessary. @return A valid MPSMatrixMultiplication object or nil, if failure.

func (*MPSMatrixMultiplication) LeftMatrixOrigin

func (o *MPSMatrixMultiplication) LeftMatrixOrigin() metal.MTLOrigin

@property leftMatrixOrigin @discussion The origin, relative to [0, 0] in the left input matrix, at which to start reading values. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

func (*MPSMatrixMultiplication) ResultMatrixOrigin

func (o *MPSMatrixMultiplication) ResultMatrixOrigin() metal.MTLOrigin

@property resultMatrixOrigin @discussion The origin, relative to [0, 0] in the result matrix, at which to start writing (and reading if necessary) results. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

func (*MPSMatrixMultiplication) RightMatrixOrigin

func (o *MPSMatrixMultiplication) RightMatrixOrigin() metal.MTLOrigin

@property rightMatrixOrigin @discussion The origin, relative to [0, 0] in the right input matrix, at which to start reading values. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

func (*MPSMatrixMultiplication) SetBatchSize

func (o *MPSMatrixMultiplication) SetBatchSize(batchSize uint)

func (*MPSMatrixMultiplication) SetBatchStart

func (o *MPSMatrixMultiplication) SetBatchStart(batchStart uint)

func (*MPSMatrixMultiplication) SetLeftMatrixOrigin

func (o *MPSMatrixMultiplication) SetLeftMatrixOrigin(leftMatrixOrigin metal.MTLOrigin)

func (*MPSMatrixMultiplication) SetResultMatrixOrigin

func (o *MPSMatrixMultiplication) SetResultMatrixOrigin(resultMatrixOrigin metal.MTLOrigin)

func (*MPSMatrixMultiplication) SetRightMatrixOrigin

func (o *MPSMatrixMultiplication) SetRightMatrixOrigin(rightMatrixOrigin metal.MTLOrigin)

type MPSMatrixRandom

type MPSMatrixRandom struct {
	mpscore.MPSKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixrandom

func MPSMatrixRandomFromID

func MPSMatrixRandomFromID(id objc.ID) *MPSMatrixRandom

func (*MPSMatrixRandom) BatchSize

func (o *MPSMatrixRandom) BatchSize() uint

@property batchSize @discussion The size of the batch to process.

func (*MPSMatrixRandom) BatchStart

func (o *MPSMatrixRandom) BatchStart() uint

@property batchStart @discussion The starting index in the destination batch.

func (*MPSMatrixRandom) DestinationDataType

func (o *MPSMatrixRandom) DestinationDataType() mpscore.MPSDataType

@property destinationDataType @discussion The type of the data which makes up the values of the result. Supported values are: MPSDataTypeUInt32 MPSDataTypeFloat32 Default is MPSDataTypeUInt32

func (*MPSMatrixRandom) DistributionType

func (o *MPSMatrixRandom) DistributionType() MPSMatrixRandomDistribution

@property distributionType @discussion The distribution from which to generate random values. Default is MPSMatrixRandomDistributionDefault

func (*MPSMatrixRandom) EncodeToCommandBufferDestinationMatrix

func (o *MPSMatrixRandom) EncodeToCommandBufferDestinationMatrix(commandBuffer metal.MTLCommandBuffer, destinationMatrix *mpscore.MPSMatrix)

@abstract Encode a MPSMatrixRandom kernel into a command Buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded filter @param destinationMatrix A valid MPSMatrix to contain the result.

func (*MPSMatrixRandom) EncodeToCommandBufferDestinationVector

func (o *MPSMatrixRandom) EncodeToCommandBufferDestinationVector(commandBuffer metal.MTLCommandBuffer, destinationVector *mpscore.MPSVector)

@abstract Encode a MPSMatrixRandom kernel into a command Buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded filter @param destinationVector A valid MPSVector to contain the result.

func (*MPSMatrixRandom) SetBatchSize

func (o *MPSMatrixRandom) SetBatchSize(batchSize uint)

func (*MPSMatrixRandom) SetBatchStart

func (o *MPSMatrixRandom) SetBatchStart(batchStart uint)

type MPSMatrixRandomDistribution

type MPSMatrixRandomDistribution uint64
const (
	MPSMatrixRandomDistributionDefault MPSMatrixRandomDistribution = 1
	MPSMatrixRandomDistributionUniform MPSMatrixRandomDistribution = 2
	MPSMatrixRandomDistributionNormal  MPSMatrixRandomDistribution = 3
)

func (MPSMatrixRandomDistribution) String

type MPSMatrixRandomDistributionDescriptor

type MPSMatrixRandomDistributionDescriptor struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixrandomdistributiondescriptor

func MPSMatrixRandomDistributionDescriptorDefaultDistributionDescriptor

func MPSMatrixRandomDistributionDescriptorDefaultDistributionDescriptor() *MPSMatrixRandomDistributionDescriptor

@abstract Make a descriptor for a default distribution. @return A valid MPSMatrixRandomDistribution object or nil, if failure.

func MPSMatrixRandomDistributionDescriptorFromID

func MPSMatrixRandomDistributionDescriptorFromID(id objc.ID) *MPSMatrixRandomDistributionDescriptor

func MPSMatrixRandomDistributionDescriptorNormalDistributionDescriptorWithMeanStandardDeviation

func MPSMatrixRandomDistributionDescriptorNormalDistributionDescriptorWithMeanStandardDeviation(mean float32, standardDeviation float32) *MPSMatrixRandomDistributionDescriptor

@abstract Make a descriptor for a normal distribution of floating point values. @param mean The mean of the distribution @param standardDeviation The standard deviation of the distribution. @return A valid MPSMatrixRandomDistribution object or nil if failure.

func MPSMatrixRandomDistributionDescriptorNormalDistributionDescriptorWithMeanStandardDeviationMinimumMaximum

func MPSMatrixRandomDistributionDescriptorNormalDistributionDescriptorWithMeanStandardDeviationMinimumMaximum(mean float32, standardDeviation float32, minimum float32, maximum float32) *MPSMatrixRandomDistributionDescriptor

@abstract Make a descriptor for a truncated normal distribution of floating point values. @param mean The mean of the distribution @param standardDeviation The standard deviation of the distribution. @param minimum The lower bound of the distribution @param maximum The upper bound of the distribution @return A valid MPSMatrixRandomDistribution object or nil if failure.

func MPSMatrixRandomDistributionDescriptorUniformDistributionDescriptorWithMinimumMaximum

func MPSMatrixRandomDistributionDescriptorUniformDistributionDescriptorWithMinimumMaximum(minimum float32, maximum float32) *MPSMatrixRandomDistributionDescriptor

@abstract Make a descriptor for a uniform distribution of floating point values in the range [minimum, maximum). @param minimum The lower bound of the range. @param maximum The upper bound of the range. @return A valid MPSMatrixRandomDistribution object or nil, if failure.

func (*MPSMatrixRandomDistributionDescriptor) DistributionType

@property distributionType @abstract The type of distribution.

func (*MPSMatrixRandomDistributionDescriptor) Maximum

@property maximum @abstract For distributions of values bounded above, this value describes the maximum.

func (*MPSMatrixRandomDistributionDescriptor) Mean

@property mean @abstract The value to use for distributions described by their mean.

func (*MPSMatrixRandomDistributionDescriptor) Minimum

@property minimum @abstract For distributions of values bounded below, this value describes the minimum.

func (*MPSMatrixRandomDistributionDescriptor) SetDistributionType

func (o *MPSMatrixRandomDistributionDescriptor) SetDistributionType(distributionType MPSMatrixRandomDistribution)

func (*MPSMatrixRandomDistributionDescriptor) SetMaximum

func (o *MPSMatrixRandomDistributionDescriptor) SetMaximum(maximum float32)

func (*MPSMatrixRandomDistributionDescriptor) SetMean

func (*MPSMatrixRandomDistributionDescriptor) SetMinimum

func (o *MPSMatrixRandomDistributionDescriptor) SetMinimum(minimum float32)

func (*MPSMatrixRandomDistributionDescriptor) SetStandardDeviation

func (o *MPSMatrixRandomDistributionDescriptor) SetStandardDeviation(standardDeviation float32)

func (*MPSMatrixRandomDistributionDescriptor) StandardDeviation

func (o *MPSMatrixRandomDistributionDescriptor) StandardDeviation() float32

@property standardDeviation @abstract The value to use for distributions described by their standardDeviation.

type MPSMatrixRandomMTGP32

type MPSMatrixRandomMTGP32 struct {
	MPSMatrixRandom
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixrandommtgp32

func MPSMatrixRandomMTGP32FromID

func MPSMatrixRandomMTGP32FromID(id objc.ID) *MPSMatrixRandomMTGP32

func (*MPSMatrixRandomMTGP32) InitWithCoderDevice

func (o *MPSMatrixRandomMTGP32) InitWithCoderDevice(aDecoder *foundation.NSCoder, device metal.MTLDevice) *MPSMatrixRandomMTGP32

func (*MPSMatrixRandomMTGP32) InitWithDevice

func (o *MPSMatrixRandomMTGP32) InitWithDevice(device metal.MTLDevice) *MPSMatrixRandomMTGP32

@abstract initialize a MPSMatrixRandomMTGP32 filter to generate 32-bit unsigned integer values with an initial seed of 0. @param device The device the filter will run on

func (*MPSMatrixRandomMTGP32) InitWithDeviceDestinationDataTypeSeed

func (o *MPSMatrixRandomMTGP32) InitWithDeviceDestinationDataTypeSeed(device metal.MTLDevice, destinationDataType mpscore.MPSDataType, seed uint) *MPSMatrixRandomMTGP32

@abstract initialize a MPSMatrixRandomMTGP32 filter using a default distribution. @param device The device the filter will run on @param destinationDataType The data type of the result. @param seed The seed to initialize the random number generators with.

func (*MPSMatrixRandomMTGP32) InitWithDeviceDestinationDataTypeSeedDistributionDescriptor

func (o *MPSMatrixRandomMTGP32) InitWithDeviceDestinationDataTypeSeedDistributionDescriptor(device metal.MTLDevice, destinationDataType mpscore.MPSDataType, seed uint, distributionDescriptor *MPSMatrixRandomDistributionDescriptor) *MPSMatrixRandomMTGP32

@abstract initialize a MPSMatrixRandomMTGP32 filter @param device The device the filter will run on @param destinationDataType The data type of the result. @param seed The seed to initialize the random number generators with. @param distributionDescriptor A descriptor containing information about the distribution.

func (*MPSMatrixRandomMTGP32) SynchronizeStateOnCommandBuffer

func (o *MPSMatrixRandomMTGP32) SynchronizeStateOnCommandBuffer(commandBuffer metal.MTLCommandBuffer)

@abstract Synchronize internal MTGP32 state between GPU and CPU. @param commandBuffer The command buffer on which to encode the synchronization.

type MPSMatrixRandomPhilox

type MPSMatrixRandomPhilox struct {
	MPSMatrixRandom
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixrandomphilox

func MPSMatrixRandomPhiloxFromID

func MPSMatrixRandomPhiloxFromID(id objc.ID) *MPSMatrixRandomPhilox

func (*MPSMatrixRandomPhilox) InitWithCoderDevice

func (o *MPSMatrixRandomPhilox) InitWithCoderDevice(aDecoder *foundation.NSCoder, device metal.MTLDevice) *MPSMatrixRandomPhilox

func (*MPSMatrixRandomPhilox) InitWithDevice

func (o *MPSMatrixRandomPhilox) InitWithDevice(device metal.MTLDevice) *MPSMatrixRandomPhilox

@abstract initialize a MPSMatrixRandomPhilox filter to generate 32-bit unsigned integer values with an initial seed of 0. @param device The device the filter will run on

func (*MPSMatrixRandomPhilox) InitWithDeviceDestinationDataTypeSeed

func (o *MPSMatrixRandomPhilox) InitWithDeviceDestinationDataTypeSeed(device metal.MTLDevice, destinationDataType mpscore.MPSDataType, seed uint) *MPSMatrixRandomPhilox

@abstract initialize a MPSMatrixRandomPhilox filter using a default distribution. @param device The device the filter will run on @param destinationDataType The data type of the result. @param seed The seed to initialize the random number generators with.

func (*MPSMatrixRandomPhilox) InitWithDeviceDestinationDataTypeSeedDistributionDescriptor

func (o *MPSMatrixRandomPhilox) InitWithDeviceDestinationDataTypeSeedDistributionDescriptor(device metal.MTLDevice, destinationDataType mpscore.MPSDataType, seed uint, distributionDescriptor *MPSMatrixRandomDistributionDescriptor) *MPSMatrixRandomPhilox

@abstract initialize a MPSMatrixRandomPhilox filter @param device The device the filter will run on @param destinationDataType The data type of the result. @param seed The seed to initialize the random number generators with. @param distributionDescriptor A descriptor containing information about the distribution.

type MPSMatrixSoftMax

type MPSMatrixSoftMax struct {
	MPSMatrixUnaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixsoftmax

func MPSMatrixSoftMaxFromID

func MPSMatrixSoftMaxFromID(id objc.ID) *MPSMatrixSoftMax

func (*MPSMatrixSoftMax) EncodeToCommandBufferInputMatrixResultMatrix

func (o *MPSMatrixSoftMax) EncodeToCommandBufferInputMatrixResultMatrix(commandBuffer metal.MTLCommandBuffer, inputMatrix *mpscore.MPSMatrix, resultMatrix *mpscore.MPSMatrix)

@abstract Encode a MPSMatrixSoftMax object to a command buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded kernel. @param inputMatrix A valid MPSMatrix object which specifies the input matrix. @param resultMatrix A valid MPSMatrix object which specifies the matrix which will be overwritten by the result. @discussion Certain constraints apply to the sizes of the matrices depending on the sizes requested at initialization time as well as the origins at the time this routine is called: The result matrix must be large enough to hold a two dimensional array of 'sourceRows' rows and 'sourceColumns' columns beginning at resultMatrixOrigin. Each matrix within the range specified by batchStart and batchSize, which also specifies a valid set of matrices within inputMatrix and resultMatrix, will be processed. The datatypes of the matrices inputMatrix and resultMatrix must match and be either MPSDataTypeFloat32 or MPSDataTypeFloat16.

func (*MPSMatrixSoftMax) InitWithCoderDevice

func (o *MPSMatrixSoftMax) InitWithCoderDevice(aDecoder *foundation.NSCoder, device metal.MTLDevice) *MPSMatrixSoftMax

@abstract NSSecureCoding compatability @discussion See @ref MPSKernel#initWithCoder. @param aDecoder The NSCoder subclass with your serialized MPSMatrixSoftMax @param device The MTLDevice on which to make the MPSMatrixSoftMax @return A new MPSMatrixSoftMax object, or nil if failure.

func (*MPSMatrixSoftMax) InitWithDevice

func (o *MPSMatrixSoftMax) InitWithDevice(device metal.MTLDevice) *MPSMatrixSoftMax

@abstract Initialize an MPSMatrixSoftMax object on a device for a given size. @param device The device on which the kernel will execute. @return A valid MPSMatrixSoftMax object or nil, if failure.

func (*MPSMatrixSoftMax) SetSourceColumns

func (o *MPSMatrixSoftMax) SetSourceColumns(sourceColumns uint)

func (*MPSMatrixSoftMax) SetSourceRows

func (o *MPSMatrixSoftMax) SetSourceRows(sourceRows uint)

func (*MPSMatrixSoftMax) SourceColumns

func (o *MPSMatrixSoftMax) SourceColumns() uint

@property sourceColumns @discussion The number of columns to consider from the source in the operation. This property is modifiable and defaults to NSUIntegerMax and the number is adjusted dynamically at kernel encode time (see encodeToCommandBuffer) to fit into the source matrix available starting from sourceMatrixOrigin.y, indicating that by default the whole source matrix is used. If a different size is desired then this should be modified prior to encoding the kernel. It is the user's responsibility to ensure that the resultMatrix parameter in encodeToCommandBuffer is large enough to accommodate the results of this operation, otherwise the results of the encode call are undefined. NOTE: sourceMatrixOrigin and resultMatrixOrigin from MPSMatrixUnaryKernel can be used to control the starting points in the source and destination at kernel encode time (see encodeToCommandBuffer).

func (*MPSMatrixSoftMax) SourceRows

func (o *MPSMatrixSoftMax) SourceRows() uint

@property sourceRows @discussion The number of rows to consider from the source in the operation. This property is modifiable and defaults to NSUIntegerMax and the number is adjusted dynamically at kernel encode time (see encodeToCommandBuffer) to fit into the source matrix available starting from sourceMatrixOrigin.x, indicating that by default the whole source matrix is used. If a different size is desired then this should be modified prior to encoding the kernel. It is the user's responsibility to ensure that the resultMatrix parameter in encodeToCommandBuffer is large enough to accommodate the results of this operation, otherwise the results of the encode call are undefined. NOTE: sourceMatrixOrigin and resultMatrixOrigin from MPSMatrixUnaryKernel can be used to control the starting points in the source and destination at kernel encode time (see encodeToCommandBuffer).

type MPSMatrixSoftMaxGradient

type MPSMatrixSoftMaxGradient struct {
	MPSMatrixBinaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixsoftmaxgradient

func MPSMatrixSoftMaxGradientFromID

func MPSMatrixSoftMaxGradientFromID(id objc.ID) *MPSMatrixSoftMaxGradient

func (*MPSMatrixSoftMaxGradient) EncodeToCommandBufferGradientMatrixForwardOutputMatrixResultMatrix

func (o *MPSMatrixSoftMaxGradient) EncodeToCommandBufferGradientMatrixForwardOutputMatrixResultMatrix(commandBuffer metal.MTLCommandBuffer, gradientMatrix *mpscore.MPSMatrix, forwardOutputMatrix *mpscore.MPSMatrix, resultMatrix *mpscore.MPSMatrix)

@abstract Encode a MPSMatrixSoftMaxGradient object to a command buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded kernel. @param gradientMatrix A MPSMatrix object containing gradient values with respect to the forward operation's output. dL_dY in the class description. @param forwardOutputMatrix A MPSMatrix object containing the output values from the forward operation. Y in the class description. @param resultMatrix The MPSMatrix object to hold the resulting gradient values with respect to the forward operation's input. dL_dX in the class description.

func (*MPSMatrixSoftMaxGradient) InitWithCoderDevice

func (o *MPSMatrixSoftMaxGradient) InitWithCoderDevice(aDecoder *foundation.NSCoder, device metal.MTLDevice) *MPSMatrixSoftMaxGradient

@abstract NSSecureCoding compatability @discussion See @ref MPSKernel#initWithCoder. @param aDecoder The NSCoder subclass with your serialized MPSMatrixSoftMaxGradient @param device The MTLDevice on which to make the MPSMatrixSoftMaxGradient @return A new MPSMatrixSoftMaxGradient object, or nil if failure.

func (*MPSMatrixSoftMaxGradient) InitWithDevice

@abstract Initialize an MPSMatrixSoftMaxGradient object on a device. @param device The device on which the kernel will execute. @return A valid MPSMatrixSoftMaxGradient object or nil, if failure.

func (*MPSMatrixSoftMaxGradient) SetSourceColumns

func (o *MPSMatrixSoftMaxGradient) SetSourceColumns(sourceColumns uint)

func (*MPSMatrixSoftMaxGradient) SetSourceRows

func (o *MPSMatrixSoftMaxGradient) SetSourceRows(sourceRows uint)

func (*MPSMatrixSoftMaxGradient) SourceColumns

func (o *MPSMatrixSoftMaxGradient) SourceColumns() uint

@property sourceColumns @discussion The number of columns to consider from the sources in the operation. This property is modifiable and defaults to NSUIntegerMax and the number is adjusted dynamically at kernel encode time (see encodeToCommandBuffer) to fit into the source matrices available starting from [primary/secondary]SourceMatrixOrigin.y, indicating that by default the whole source matrix is used. If a different size is desired then this should be modified prior to encoding the kernel. It is the user's responsibility to ensure that the resultMatrix parameter in encodeToCommandBuffer is large enough to accommodate the results of this operation, otherwise the results of the encode call are undefined. NOTE: primarySourceMatrixOrigin, secondarySourceMatrixOrigin and resultMatrixOrigin from MPSMatrixBinaryKernel can be used to control the starting points in the primary source, secondary source, and result matrices respectively.

func (*MPSMatrixSoftMaxGradient) SourceRows

func (o *MPSMatrixSoftMaxGradient) SourceRows() uint

@property sourceRows @discussion The number of rows to consider from the sources in the operation. This property is modifiable and defaults to NSUIntegerMax and the number is adjusted dynamically at kernel encode time (see encodeToCommandBuffer) to fit into the source matrices available starting from [primary/secondary]SourceMatrixOrigin.x, indicating that by default the whole source matrix is used. If a different size is desired then this should be modified prior to encoding the kernel. It is the user's responsibility to ensure that the resultMatrix parameter in encodeToCommandBuffer is large enough to accommodate the results of this operation, otherwise the results of the encode call are undefined. NOTE: primarySourceMatrixOrigin, secondarySourceMatrixOrigin and resultMatrixOrigin from MPSMatrixBinaryKernel can be used to control the starting points in the primary source, secondary source, and result matrices respectively.

type MPSMatrixSolveCholesky

type MPSMatrixSolveCholesky struct {
	MPSMatrixBinaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixsolvecholesky

func MPSMatrixSolveCholeskyFromID

func MPSMatrixSolveCholeskyFromID(id objc.ID) *MPSMatrixSolveCholesky

func (*MPSMatrixSolveCholesky) EncodeToCommandBufferSourceMatrixRightHandSideMatrixSolutionMatrix

func (o *MPSMatrixSolveCholesky) EncodeToCommandBufferSourceMatrixRightHandSideMatrixSolutionMatrix(commandBuffer metal.MTLCommandBuffer, sourceMatrix *mpscore.MPSMatrix, rightHandSideMatrix *mpscore.MPSMatrix, solutionMatrix *mpscore.MPSMatrix)

@abstract Encode a MPSMatrixSolveCholesky kernel into a command Buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded filter @param sourceMatrix A valid MPSMatrix containing the source matrix in factored form as returned by a previous successful execution of a MPSMatrixDecompositionCholesky kernel. @param rightHandSideMatrix A valid MPSMatrix containing the right hand side values. @param solutionMatrix A valid MPSMatrix to contain the result. @discussion This function encodes the MPSMatrixSolveCholesky object to a valid command buffer. sourceMatrix should contain either the lower or upper triangular factors corresponding to the factorization returned by a previous execution of MPSMatrixDecompositionCholesky. rightHandSideMatrix and solutionMatrix must be large enough to hold a matrix of size order x numberOfRightHandSides starting at secondarySourceMatrixOrigin and resultMatrixOrigin respectively. sourceMatrix must be at least size order x order starting at primarySourceMatrixOrigin.

func (*MPSMatrixSolveCholesky) InitWithDeviceUpperOrderNumberOfRightHandSides

func (o *MPSMatrixSolveCholesky) InitWithDeviceUpperOrderNumberOfRightHandSides(device metal.MTLDevice, upper bool, order uint, numberOfRightHandSides uint) *MPSMatrixSolveCholesky

@abstract Initialize an MPSMatrixSolveCholesky object on a device @param device The device on which the kernel will execute. @param upper A boolean value which indicates if the source matrix stores the lower or upper triangular factors. @param order The order of the source matrix and the number of rows in the solution and right hand side matrices. @param numberOfRightHandSides The number of columns in the solution and right hand side matrices. @return A valid MPSMatrixSolveCholesky object or nil, if failure.

type MPSMatrixSolveLU

type MPSMatrixSolveLU struct {
	MPSMatrixBinaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixsolvelu

func MPSMatrixSolveLUFromID

func MPSMatrixSolveLUFromID(id objc.ID) *MPSMatrixSolveLU

func (*MPSMatrixSolveLU) EncodeToCommandBufferSourceMatrixRightHandSideMatrixPivotIndicesSolutionMatrix

func (o *MPSMatrixSolveLU) EncodeToCommandBufferSourceMatrixRightHandSideMatrixPivotIndicesSolutionMatrix(commandBuffer metal.MTLCommandBuffer, sourceMatrix *mpscore.MPSMatrix, rightHandSideMatrix *mpscore.MPSMatrix, pivotIndices *mpscore.MPSMatrix, solutionMatrix *mpscore.MPSMatrix)

@abstract Encode a MPSMatrixSolveLU kernel into a command Buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded filter @param sourceMatrix A valid MPSMatrix containing the source matrix in factored form as returned by a previous successful execution of a MPSMatrixDecompositionLU kernel. @param rightHandSideMatrix A valid MPSMatrix containing the right hand side values. @param pivotIndices A valid MPSMatrix which contains the pivot indices as returned by a previous successful execution of a MPSMatrixDecompositionLU kernel. @param solutionMatrix A valid MPSMatrix to contain the result. @discussion This function encodes the MPSMatrixSolveLU object to a valid command buffer. sourceMatrix should contain the lower and upper triangular factors of A as results from a previous execution of MPSMatrixDecompositionLU. pivotIndices is an array of pivots resulting from a previous execution of MPSMatrixDecompositionLU. rightHandSideMatrix and solutionMatrix must be large enough to hold a matrix of size order x numberOfRightHandSides starting at secondarySourceMatrixOrigin and resultMatrixOrigin respectively. sourceMatrix must be at least size order x order starting at primarySourceMatrixOrigin.

func (*MPSMatrixSolveLU) InitWithDeviceTransposeOrderNumberOfRightHandSides

func (o *MPSMatrixSolveLU) InitWithDeviceTransposeOrderNumberOfRightHandSides(device metal.MTLDevice, transpose bool, order uint, numberOfRightHandSides uint) *MPSMatrixSolveLU

@abstract Initialize an MPSMatrixSolveLU object on a device @param device The device on which the kernel will execute. @param transpose A boolean value which indicates if the source matrix should be used in transposed form. @param order The order of the source matrix and the number of rows in the solution and right hand side matrices. @param numberOfRightHandSides The number of columns in the solution and right hand side matrices. @return A valid MPSMatrixSolveLU object or nil, if failure.

type MPSMatrixSolveTriangular

type MPSMatrixSolveTriangular struct {
	MPSMatrixBinaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixsolvetriangular

func MPSMatrixSolveTriangularFromID

func MPSMatrixSolveTriangularFromID(id objc.ID) *MPSMatrixSolveTriangular

func (*MPSMatrixSolveTriangular) EncodeToCommandBufferSourceMatrixRightHandSideMatrixSolutionMatrix

func (o *MPSMatrixSolveTriangular) EncodeToCommandBufferSourceMatrixRightHandSideMatrixSolutionMatrix(commandBuffer metal.MTLCommandBuffer, sourceMatrix *mpscore.MPSMatrix, rightHandSideMatrix *mpscore.MPSMatrix, solutionMatrix *mpscore.MPSMatrix)

@abstract Encode a MPSMatrixSolveTriangular kernel into a command Buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded filter @param sourceMatrix A valid MPSMatrix containing the source matrix. @param rightHandSideMatrix A valid MPSMatrix containing the right hand side values. @param solutionMatrix A valid MPSMatrix to contain the result. @discussion This function encodes the MPSMatrixSolveTriangular object to a valid command buffer. rightHandSideMatrix and solutionMatrix must be large enough to hold at least order * numberOfRightHandSides values starting at secondarySourceMatrixOrigin and resultMatrixOrigin respectively. sourceMatrix must be at least size order x order starting at primarySourceMatrixOrigin.

func (*MPSMatrixSolveTriangular) InitWithDeviceRightUpperTransposeUnitOrderNumberOfRightHandSidesAlpha

func (o *MPSMatrixSolveTriangular) InitWithDeviceRightUpperTransposeUnitOrderNumberOfRightHandSidesAlpha(device metal.MTLDevice, right bool, upper bool, transpose bool, unit bool, order uint, numberOfRightHandSides uint, alpha float64) *MPSMatrixSolveTriangular

@abstract Initialize an MPSMatrixSolveTriangular object on a device @param device The device on which the kernel will execute. @param right A boolean value which indicates if the coefficient matrix is multiplied on the left or right side of the solution. NO indicates the multiplication is on the left. @param upper A boolean value which indicates if the source is lower or upper triangular. NO indicates that the coefficient matrix is lower triangular. @param transpose A boolean value which indicates if the source matrix should be used in transposed form. NO indicates that the coefficient matrix is to be used normally. @param unit A boolean value which indicates if the source matrix is unit triangular. @param order The order of the source matrix and, if right == NO, the number of rows in the solution and right hand side matrices. If right == YES the number of columns in the solution and right hand side matrices. @param numberOfRightHandSides If right == NO, the number of columns in the solution and right hand side matrices. The number of rows otherwise. @param alpha A double precision value used to scale the right hand sides. @discussion This function initializes a MPSMatrixSolveTriangular object. It may allocate device side memory. @return A valid MPSMatrixSolveTriangular object or nil, if failure.

type MPSMatrixUnaryKernel

type MPSMatrixUnaryKernel struct {
	mpscore.MPSKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixunarykernel

func MPSMatrixUnaryKernelFromID

func MPSMatrixUnaryKernelFromID(id objc.ID) *MPSMatrixUnaryKernel

func (*MPSMatrixUnaryKernel) BatchSize

func (o *MPSMatrixUnaryKernel) BatchSize() uint

@property batchSize @discussion The number of matrices in the batch to process. This property is modifiable and by default allows all matrices available at encoding time to be processed. If a single matrix should be processed set this value to 1.

func (*MPSMatrixUnaryKernel) BatchStart

func (o *MPSMatrixUnaryKernel) BatchStart() uint

@property batchStart @discussion The index of the first matrix in the batch. This property is modifiable and defaults to 0 at initialization time. If batch processing should begin at a different matrix this value should be modified prior to encoding the kernel.

func (*MPSMatrixUnaryKernel) ResultMatrixOrigin

func (o *MPSMatrixUnaryKernel) ResultMatrixOrigin() metal.MTLOrigin

@property resultMatrixOrigin @discussion The origin, relative to [0, 0] in the result matrix, at which to start writing results. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

func (*MPSMatrixUnaryKernel) SetBatchSize

func (o *MPSMatrixUnaryKernel) SetBatchSize(batchSize uint)

func (*MPSMatrixUnaryKernel) SetBatchStart

func (o *MPSMatrixUnaryKernel) SetBatchStart(batchStart uint)

func (*MPSMatrixUnaryKernel) SetResultMatrixOrigin

func (o *MPSMatrixUnaryKernel) SetResultMatrixOrigin(resultMatrixOrigin metal.MTLOrigin)

func (*MPSMatrixUnaryKernel) SetSourceMatrixOrigin

func (o *MPSMatrixUnaryKernel) SetSourceMatrixOrigin(sourceMatrixOrigin metal.MTLOrigin)

func (*MPSMatrixUnaryKernel) SourceMatrixOrigin

func (o *MPSMatrixUnaryKernel) SourceMatrixOrigin() metal.MTLOrigin

@property sourceMatrixOrigin @discussion The origin, relative to [0, 0] in the source matrix, at which to start reading values. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

type MPSMatrixVectorMultiplication

type MPSMatrixVectorMultiplication struct {
	MPSMatrixBinaryKernel
}

Apple documentation: https://developer.apple.com/documentation/mpsmatrix/mpsmatrixvectormultiplication

func MPSMatrixVectorMultiplicationFromID

func MPSMatrixVectorMultiplicationFromID(id objc.ID) *MPSMatrixVectorMultiplication

func (*MPSMatrixVectorMultiplication) EncodeToCommandBufferInputMatrixInputVectorResultVector

func (o *MPSMatrixVectorMultiplication) EncodeToCommandBufferInputMatrixInputVectorResultVector(commandBuffer metal.MTLCommandBuffer, inputMatrix *mpscore.MPSMatrix, inputVector *mpscore.MPSVector, resultVector *mpscore.MPSVector)

@abstract Encode a MPSMatrixVectorMultiplication object to a command buffer. @param commandBuffer A valid MTLCommandBuffer to receive the encoded kernel. @param inputMatrix A valid MPSMatrix object which specifies the input matrix A. @param inputVector A valid MPSVector object which specifies the input vector x. @param resultVector A valid MPSVector object which specifies the addend vector which will also be overwritten by the result. @discussion The left input matrix must be large enough to hold an array of size (rows x columns) elements beginning at primarySourceMatrixOrigin. The input vector must be large enough to hold an array of size (columns) elements beginning at secondarySourceMatrixOrigin.x secondarySourceMatrixOrigin.y and secondarySourceMatrixOrigin.z must be zero. The result vector must be large enough to hold an array of size (rows) elements beginning at resultMatrixOrigin.x. resultMatrixOrigin.y and resultMatrixOrigin.z must be zero.

func (*MPSMatrixVectorMultiplication) InitWithDeviceRowsColumns

func (o *MPSMatrixVectorMultiplication) InitWithDeviceRowsColumns(device metal.MTLDevice, rows uint, columns uint) *MPSMatrixVectorMultiplication

@abstract Convenience initialization for a matrix-vector multiplication with no transposition, unit scaling of the product, and no accumulation of the result. The scaling factors alpha and beta are taken to be 1.0 and 0.0 respectively. @param device The device on which the kernel will execute. @param rows The number of rows in the input matrix A, and the number of elements in the vector y. @param columns The number of columns in the input matrix A, and the number of elements in the input vector x. @return A valid MPSMatrixVectorMultiplication object or nil, if failure.

func (*MPSMatrixVectorMultiplication) InitWithDeviceTransposeRowsColumnsAlphaBeta

func (o *MPSMatrixVectorMultiplication) InitWithDeviceTransposeRowsColumnsAlphaBeta(device metal.MTLDevice, transpose bool, rows uint, columns uint, alpha float64, beta float64) *MPSMatrixVectorMultiplication

@abstract Initialize an MPSMatrixVectorMultiplication object on a device for a given size and desired transpose and scale values. @param device The device on which the kernel will execute. @param transpose A boolean value which indicates if the input matrix should be used in transposed form. if 'YES' then op(A) == A**T, otherwise op(A) == A. @param rows The number of rows in the input matrix op(A), and the number of elements in the vector y. @param columns The number of columns in the input matrix op(A), and the number of elements in the input vector x. @param alpha The scale factor to apply to the product. Specified in double precision. Will be converted to the appropriate precision in the implementation subject to rounding and/or clamping as necessary. @param beta The scale factor to apply to the initial values of y. Specified in double precision. Will be converted to the appropriate precision in the implementation subject to rounding and/or clamping as necessary. @return A valid MPSMatrixVectorMultiplication object or nil, if failure.

type Mach_vm_range_flags_t

type Mach_vm_range_flags_t int64
const (
	MACH_VM_RANGE_NONE Mach_vm_range_flags_t = 0
)

func (Mach_vm_range_flags_t) String

func (e Mach_vm_range_flags_t) String() string

type Mach_vm_range_flavor_t

type Mach_vm_range_flavor_t int64
const (
	MACH_VM_RANGE_FLAVOR_INVALID Mach_vm_range_flavor_t = 0
	MACH_VM_RANGE_FLAVOR_V1      Mach_vm_range_flavor_t = 1
)

func (Mach_vm_range_flavor_t) String

func (e Mach_vm_range_flavor_t) String() string

type Mach_vm_range_tag_t

type Mach_vm_range_tag_t int64
const (
	MACH_VM_RANGE_DEFAULT Mach_vm_range_tag_t = 0
	MACH_VM_RANGE_DATA    Mach_vm_range_tag_t = 1
	MACH_VM_RANGE_FIXED   Mach_vm_range_tag_t = 2
)

func (Mach_vm_range_tag_t) String

func (e Mach_vm_range_tag_t) String() string

type Mpo_flags_t

type Mpo_flags_t int64
const (
	MPO_PORT                            Mpo_flags_t = 0
	MPO_SERVICE_PORT                    Mpo_flags_t = 1024
	MPO_CONNECTION_PORT                 Mpo_flags_t = 2048
	MPO_REPLY_PORT                      Mpo_flags_t = 4096
	MPO_WEAK_REPLY_PORT                 Mpo_flags_t = 16384
	MPO_NOTIFICATION_PORT               Mpo_flags_t = 17408
	MPO_EXCEPTION_PORT                  Mpo_flags_t = 32768
	MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536
)

func (Mpo_flags_t) String

func (e Mpo_flags_t) String() string

type Os_clockid_t

type Os_clockid_t int64
const (
	OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)

func (Os_clockid_t) String

func (e Os_clockid_t) String() string

type Ptrauth_key

type Ptrauth_key int64
const (
	Ptrauth_key_none                     Ptrauth_key = -1
	Ptrauth_key_asia                     Ptrauth_key = 0
	Ptrauth_key_asib                     Ptrauth_key = 1
	Ptrauth_key_asda                     Ptrauth_key = 2
	Ptrauth_key_asdb                     Ptrauth_key = 3
	Ptrauth_key_process_independent_code Ptrauth_key = 0
	Ptrauth_key_process_dependent_code   Ptrauth_key = 1
	Ptrauth_key_process_independent_data Ptrauth_key = 2
	Ptrauth_key_process_dependent_data   Ptrauth_key = 3
	Ptrauth_key_return_address           Ptrauth_key = 1
	Ptrauth_key_frame_pointer            Ptrauth_key = 3
	Ptrauth_key_function_pointer         Ptrauth_key = 0
	Ptrauth_key_block_function           Ptrauth_key = 0
	Ptrauth_key_cxx_vtable_pointer       Ptrauth_key = 2
	Ptrauth_key_method_list_pointer      Ptrauth_key = 2
	Ptrauth_key_objc_isa_pointer         Ptrauth_key = 2
	Ptrauth_key_objc_super_pointer       Ptrauth_key = 2
	Ptrauth_key_objc_sel_pointer         Ptrauth_key = 3
	Ptrauth_key_objc_class_ro_pointer    Ptrauth_key = 2
	Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2
	Ptrauth_key_init_fini_pointer        Ptrauth_key = 0
)

func (Ptrauth_key) String

func (e Ptrauth_key) String() string

type Qos_class_t

type Qos_class_t uint32
const (
	QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33
	QOS_CLASS_USER_INITIATED   Qos_class_t = 25
	QOS_CLASS_DEFAULT          Qos_class_t = 21
	QOS_CLASS_UTILITY          Qos_class_t = 17
	QOS_CLASS_BACKGROUND       Qos_class_t = 9
	QOS_CLASS_UNSPECIFIED      Qos_class_t = 0
)

func (Qos_class_t) String

func (e Qos_class_t) String() string

type Virtual_memory_guard_exception_code_t

type Virtual_memory_guard_exception_code_t int64
const (
	KGUARD_EXC_DEALLOC_GAP                   Virtual_memory_guard_exception_code_t = 1
	KGUARD_EXC_RECLAIM_COPYIO_FAILURE        Virtual_memory_guard_exception_code_t = 2
	KGUARD_EXC_RECLAIM_INDEX_FAILURE         Virtual_memory_guard_exception_code_t = 4
	KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE    Virtual_memory_guard_exception_code_t = 8
	KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE    Virtual_memory_guard_exception_code_t = 9
	KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE         Virtual_memory_guard_exception_code_t = 10
	KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE         Virtual_memory_guard_exception_code_t = 11
	KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION  Virtual_memory_guard_exception_code_t = 12
	KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY    Virtual_memory_guard_exception_code_t = 13
	KGUARD_EXC_SEC_ACCESS_FAULT              Virtual_memory_guard_exception_code_t = 98
	KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT        Virtual_memory_guard_exception_code_t = 99
	KGUARD_EXC_SEC_COPY_DENIED               Virtual_memory_guard_exception_code_t = 100
	KGUARD_EXC_SEC_SHARING_DENIED            Virtual_memory_guard_exception_code_t = 101
	KGUARD_EXC_MTE_SYNC_FAULT                Virtual_memory_guard_exception_code_t = 200
	KGUARD_EXC_MTE_ASYNC_USER_FAULT          Virtual_memory_guard_exception_code_t = 201
	KGUARD_EXC_MTE_ASYNC_KERN_FAULT          Virtual_memory_guard_exception_code_t = 202
	KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 203
	KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 204
)

func (Virtual_memory_guard_exception_code_t) String

type Xpc_listener_create_flags_t

type Xpc_listener_create_flags_t int64
const (
	XPC_LISTENER_CREATE_NONE             Xpc_listener_create_flags_t = 0
	XPC_LISTENER_CREATE_INACTIVE         Xpc_listener_create_flags_t = 1
	XPC_LISTENER_CREATE_FORCE_MACH       Xpc_listener_create_flags_t = 2
	XPC_LISTENER_CREATE_FORCE_XPCSERVICE Xpc_listener_create_flags_t = 4
)

func (Xpc_listener_create_flags_t) String

type Xpc_session_create_flags_t

type Xpc_session_create_flags_t int64
const (
	XPC_SESSION_CREATE_NONE            Xpc_session_create_flags_t = 0
	XPC_SESSION_CREATE_INACTIVE        Xpc_session_create_flags_t = 1
	XPC_SESSION_CREATE_MACH_PRIVILEGED Xpc_session_create_flags_t = 2
)

func (Xpc_session_create_flags_t) String

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL