/ios-api-diff.md Secret
Created
June 22, 2022 23:18
Revisions
-
vs-mobiletools-engineering-service2 created this gist
Jun 22, 2022 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,1266 @@ --- title: "Xamarin.iOS SDK API diff: 15.10.0 vs 15.11.0" description: List of API changes between Xamarin.iOS versions 15.10.0 and 15.11.0. author: spouliot ms.author: sepoulio ms.date: 6/22/2022 ms.topic: article ms.assetid: d219b856-66ca-a563-0582-d066cbd8d553 ms.prod: xamarin --- # Xamarin.iOS SDK API diff: 15.10.0 vs 15.11.0 <a name="MonoTouch.NUnitLite.dll" /> ## MonoTouch.NUnitLite.dll ### Namespace MonoTouch.NUnit.UI #### Type Changed: MonoTouch.NUnit.UI.BaseTouchRunner Added method: ```csharp protected void FlushConsole (); ``` <a name="Xamarin.iOS.dll" /> ## Xamarin.iOS.dll ### Namespace CarPlay #### Type Changed: CarPlay.CPNowPlayingAddToLibraryButton Added constructor: ```csharp public CPNowPlayingAddToLibraryButton (System.Action<CPNowPlayingButton> handler); ``` #### Type Changed: CarPlay.CPNowPlayingImageButton Added constructor: ```csharp public CPNowPlayingImageButton (System.Action<CPNowPlayingButton> handler); ``` #### Type Changed: CarPlay.CPNowPlayingMoreButton Added constructor: ```csharp public CPNowPlayingMoreButton (System.Action<CPNowPlayingButton> handler); ``` #### Type Changed: CarPlay.CPNowPlayingPlaybackRateButton Added constructor: ```csharp public CPNowPlayingPlaybackRateButton (System.Action<CPNowPlayingButton> handler); ``` #### Type Changed: CarPlay.CPNowPlayingRepeatButton Added constructor: ```csharp public CPNowPlayingRepeatButton (System.Action<CPNowPlayingButton> handler); ``` #### Type Changed: CarPlay.CPNowPlayingShuffleButton Added constructor: ```csharp public CPNowPlayingShuffleButton (System.Action<CPNowPlayingButton> handler); ``` ### Namespace MetalPerformanceShaders #### Type Changed: MetalPerformanceShaders.MPSNDArray Added methods: ```csharp public static MPSNDArray Create (Metal.IMTLDevice device, System.ReadOnlySpan<float> values, int[] shape); public void Read (System.Span<float> values); public void Write (System.ReadOnlySpan<float> values); ``` ### Namespace ObjCRuntime #### Type Changed: ObjCRuntime.Constants Modified fields: ```diff -public const string Version = "15.10.0"; +public const string Version = "15.11.0"; ``` Added field: ```csharp public static const string MetalPerformanceShadersGraphLibrary = "/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/MetalPerformanceShadersGraph"; ``` #### Type Changed: ObjCRuntime.ThrowHelper Added methods: ```csharp public static void ThrowArgumentNullException (string argumentName, string message); public static void ThrowArgumentOutOfRangeException (string argumentName, object actualValue, string message); ``` #### New Type: ObjCRuntime.NativeNameAttribute ```csharp public sealed class NativeNameAttribute : System.Attribute { // constructors public NativeNameAttribute (string name); // properties public string NativeName { get; set; } } ``` ### New Namespace MetalPerformanceShadersGraph #### New Type: MetalPerformanceShadersGraph.MPSGraph ```csharp public class MPSGraph : Foundation.NSObject { // constructors public MPSGraph (); protected MPSGraph (Foundation.NSObjectFlag t); protected MPSGraph (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MPSGraphOptions Options { get; set; } public virtual MPSGraphTensor[] PlaceholderTensors { get; } // methods public virtual MPSGraphExecutable Compile (MPSGraphDevice device, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphShapedType> feeds, MPSGraphTensor[] targetTensors, MPSGraphOperation[] targetOperations, MPSGraphCompilationDescriptor compilationDescriptor); public static MPSGraph Create (); public virtual void Encode (MetalPerformanceShaders.MPSCommandBuffer commandBuffer, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> feeds, MPSGraphOperation[] targetOperations, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> resultsDictionary, MPSGraphExecutionDescriptor executionDescriptor); public virtual Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> Encode (MetalPerformanceShaders.MPSCommandBuffer commandBuffer, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> feeds, MPSGraphTensor[] targetTensors, MPSGraphOperation[] targetOperations, MPSGraphExecutionDescriptor executionDescriptor); public virtual Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> Run (Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> feeds, MPSGraphTensor[] targetTensors, MPSGraphOperation[] targetOperations); public virtual void Run (Metal.IMTLCommandQueue commandQueue, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> feeds, MPSGraphOperation[] targetOperations, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> resultsDictionary); public virtual Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> Run (Metal.IMTLCommandQueue commandQueue, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> feeds, MPSGraphTensor[] targetTensors, MPSGraphOperation[] targetOperations); public virtual Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> RunAsync (Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> feeds, MPSGraphTensor[] targetTensors, MPSGraphOperation[] targetOperations, MPSGraphExecutionDescriptor executionDescriptor); public virtual void RunAsync (Metal.IMTLCommandQueue commandQueue, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> feeds, MPSGraphOperation[] targetOperations, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> resultsDictionary, MPSGraphExecutionDescriptor executionDescriptor); public virtual Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> RunAsync (Metal.IMTLCommandQueue commandQueue, Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> feeds, MPSGraphTensor[] targetTensors, MPSGraphOperation[] targetOperations, MPSGraphExecutionDescriptor executionDescriptor); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphCompilationDescriptor ```csharp public class MPSGraphCompilationDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphCompilationDescriptor (); protected MPSGraphCompilationDescriptor (Foundation.NSObjectFlag t); protected MPSGraphCompilationDescriptor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public virtual void DisableTypeInference (); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphCompletionHandler ```csharp public sealed delegate MPSGraphCompletionHandler : System.MulticastDelegate { // constructors public MPSGraphCompletionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> resultsDictionary, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> resultsDictionary, Foundation.NSError error); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphControlFlowDependencyBlock ```csharp public sealed delegate MPSGraphControlFlowDependencyBlock : System.MulticastDelegate { // constructors public MPSGraphControlFlowDependencyBlock (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (System.AsyncCallback callback, object object); public virtual MPSGraphTensor[] EndInvoke (System.IAsyncResult result); public virtual MPSGraphTensor[] Invoke (); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphConvolution2DOpDescriptor ```csharp public class MPSGraphConvolution2DOpDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphConvolution2DOpDescriptor (); protected MPSGraphConvolution2DOpDescriptor (Foundation.NSObjectFlag t); protected MPSGraphConvolution2DOpDescriptor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MPSGraphTensorNamedDataLayout DataLayout { get; set; } public virtual nuint DilationRateInX { get; set; } public virtual nuint DilationRateInY { get; set; } public virtual nuint Groups { get; set; } public virtual nuint PaddingBottom { get; set; } public virtual nuint PaddingLeft { get; set; } public virtual nuint PaddingRight { get; set; } public virtual MPSGraphPaddingStyle PaddingStyle { get; set; } public virtual nuint PaddingTop { get; set; } public virtual nuint StrideInX { get; set; } public virtual nuint StrideInY { get; set; } public virtual MPSGraphTensorNamedDataLayout WeightsLayout { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static MPSGraphConvolution2DOpDescriptor Create (nuint strideInX, nuint strideInY, nuint dilationRateInX, nuint dilationRateInY, nuint groups, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout); public static MPSGraphConvolution2DOpDescriptor Create (nuint strideInX, nuint strideInY, nuint dilationRateInX, nuint dilationRateInY, nuint groups, nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout); public virtual void SetExplicitPadding (nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphCreateSparseOpDescriptor ```csharp public class MPSGraphCreateSparseOpDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphCreateSparseOpDescriptor (); protected MPSGraphCreateSparseOpDescriptor (Foundation.NSObjectFlag t); protected MPSGraphCreateSparseOpDescriptor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MetalPerformanceShaders.MPSDataType DataType { get; set; } public virtual MPSGraphSparseStorageType SparseStorageType { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static MPSGraphCreateSparseOpDescriptor Create (MPSGraphSparseStorageType sparseStorageType, MetalPerformanceShaders.MPSDataType dataType); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphDepthwiseConvolution2DOpDescriptor ```csharp public class MPSGraphDepthwiseConvolution2DOpDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphDepthwiseConvolution2DOpDescriptor (); protected MPSGraphDepthwiseConvolution2DOpDescriptor (Foundation.NSObjectFlag t); protected MPSGraphDepthwiseConvolution2DOpDescriptor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MPSGraphTensorNamedDataLayout DataLayout { get; set; } public virtual nuint DilationRateInX { get; set; } public virtual nuint DilationRateInY { get; set; } public virtual nuint PaddingBottom { get; set; } public virtual nuint PaddingLeft { get; set; } public virtual nuint PaddingRight { get; set; } public virtual MPSGraphPaddingStyle PaddingStyle { get; set; } public virtual nuint PaddingTop { get; set; } public virtual nuint StrideInX { get; set; } public virtual nuint StrideInY { get; set; } public virtual MPSGraphTensorNamedDataLayout WeightsLayout { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static MPSGraphDepthwiseConvolution2DOpDescriptor Create (MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout); public static MPSGraphDepthwiseConvolution2DOpDescriptor Create (nuint strideInX, nuint strideInY, nuint dilationRateInX, nuint dilationRateInY, nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout); public virtual void SetExplicitPadding (nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphDepthwiseConvolution3DOpDescriptor ```csharp public class MPSGraphDepthwiseConvolution3DOpDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphDepthwiseConvolution3DOpDescriptor (); protected MPSGraphDepthwiseConvolution3DOpDescriptor (Foundation.NSObjectFlag t); protected MPSGraphDepthwiseConvolution3DOpDescriptor (IntPtr handle); // properties public virtual nint ChannelDimensionIndex { get; set; } public override IntPtr ClassHandle { get; } public virtual int[] DilationRates { get; set; } public virtual MPSGraphPaddingStyle PaddingStyle { get; set; } public virtual int[] PaddingValues { get; set; } public virtual int[] Strides { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static MPSGraphDepthwiseConvolution3DOpDescriptor Create (MPSGraphPaddingStyle paddingStyle); public static MPSGraphDepthwiseConvolution3DOpDescriptor Create (int[] strides, int[] dilationRates, int[] paddingValues, MPSGraphPaddingStyle paddingStyle); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphDevice ```csharp public class MPSGraphDevice : Foundation.NSObject { // constructors public MPSGraphDevice (); protected MPSGraphDevice (Foundation.NSObjectFlag t); protected MPSGraphDevice (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Metal.IMTLDevice MetalDevice { get; } public virtual MPSGraphDeviceType Type { get; } // methods public static MPSGraphDevice Create (Metal.IMTLDevice metalDevice); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphDeviceType ```csharp [Serializable] public enum MPSGraphDeviceType { Metal = 0, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphExecutable ```csharp public class MPSGraphExecutable : Foundation.NSObject { // constructors public MPSGraphExecutable (); protected MPSGraphExecutable (Foundation.NSObjectFlag t); protected MPSGraphExecutable (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MPSGraphTensor[] FeedTensors { get; } public virtual MPSGraphOptions Options { get; set; } public virtual MPSGraphTensor[] TargetTensors { get; } // methods public virtual MPSGraphTensorData[] Encode (MetalPerformanceShaders.MPSCommandBuffer commandBuffer, MPSGraphTensorData[] inputsArray, MPSGraphTensorData[] resultsArray, MPSGraphExecutableExecutionDescriptor executionDescriptor); public virtual MPSGraphTensorData[] Run (Metal.IMTLCommandQueue commandQueue, MPSGraphTensorData[] inputsArray, MPSGraphTensorData[] resultsArray, MPSGraphExecutableExecutionDescriptor executionDescriptor); public virtual MPSGraphTensorData[] RunAsync (Metal.IMTLCommandQueue commandQueue, MPSGraphTensorData[] inputsArray, MPSGraphTensorData[] resultsArray, MPSGraphExecutableExecutionDescriptor executionDescriptor); public virtual void Specialize (MPSGraphDevice device, MPSGraphType[] inputTypes, MPSGraphCompilationDescriptor compilationDescriptor); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphExecutableCompletionHandler ```csharp public sealed delegate MPSGraphExecutableCompletionHandler : System.MulticastDelegate { // constructors public MPSGraphExecutableCompletionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (MPSGraphTensorData[] results, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (MPSGraphTensorData[] results, Foundation.NSError error); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphExecutableExecutionDescriptor ```csharp public class MPSGraphExecutableExecutionDescriptor : Foundation.NSObject { // constructors public MPSGraphExecutableExecutionDescriptor (); protected MPSGraphExecutableExecutionDescriptor (Foundation.NSObjectFlag t); protected MPSGraphExecutableExecutionDescriptor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MPSGraphExecutableCompletionHandler CompletionHandler { get; set; } public virtual MPSGraphExecutableScheduledHandler ScheduledHandler { get; set; } public virtual bool WaitUntilCompleted { get; set; } } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphExecutableScheduledHandler ```csharp public sealed delegate MPSGraphExecutableScheduledHandler : System.MulticastDelegate { // constructors public MPSGraphExecutableScheduledHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (MPSGraphTensorData[] results, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (MPSGraphTensorData[] results, Foundation.NSError error); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphExecutionDescriptor ```csharp public class MPSGraphExecutionDescriptor : Foundation.NSObject { // constructors public MPSGraphExecutionDescriptor (); protected MPSGraphExecutionDescriptor (Foundation.NSObjectFlag t); protected MPSGraphExecutionDescriptor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MPSGraphCompletionHandler CompletionHandler { get; set; } public virtual MPSGraphScheduledHandler ScheduledHandler { get; set; } public virtual bool WaitUntilCompleted { get; set; } } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphForLoopBodyBlock ```csharp public sealed delegate MPSGraphForLoopBodyBlock : System.MulticastDelegate { // constructors public MPSGraphForLoopBodyBlock (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (MPSGraphTensor index, MPSGraphTensor[] iterationArguments, System.AsyncCallback callback, object object); public virtual MPSGraphTensor[] EndInvoke (System.IAsyncResult result); public virtual MPSGraphTensor[] Invoke (MPSGraphTensor index, MPSGraphTensor[] iterationArguments); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphIfThenElseBlock ```csharp public sealed delegate MPSGraphIfThenElseBlock : System.MulticastDelegate { // constructors public MPSGraphIfThenElseBlock (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (System.AsyncCallback callback, object object); public virtual MPSGraphTensor[] EndInvoke (System.IAsyncResult result); public virtual MPSGraphTensor[] Invoke (); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphLossReductionType ```csharp [Serializable] public enum MPSGraphLossReductionType { Axis = 0, Mean = 2, Sum = 1, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphMemoryOps_Extensions ```csharp public static class MPSGraphMemoryOps_Extensions { // methods public static MPSGraphTensor Constant (this MPSGraph graph, float scalar); public static MPSGraphTensor Constant (this MPSGraph graph, System.ReadOnlySpan<float> values, int[] shape); public static MPSGraphTensor Variable (this MPSGraph graph, System.ReadOnlySpan<float> initialValues, int[] shape, string name); public static MPSGraphTensor Variable (this MPSGraph graph, float initialValue, int[] shape, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphOperation ```csharp public class MPSGraphOperation : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected MPSGraphOperation (Foundation.NSObjectFlag t); protected MPSGraphOperation (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MPSGraphOperation[] ControlDependencies { get; } public virtual MPSGraph Graph { get; } public virtual MPSGraphTensor[] InputTensors { get; } public virtual string Name { get; } public virtual MPSGraphTensor[] OutputTensors { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphOptions ```csharp [Serializable] [Flags] public enum MPSGraphOptions { Default = 1, None = 0, SynchronizeResults = 1, Verbose = 2, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphPaddingMode ```csharp [Serializable] public enum MPSGraphPaddingMode { AntiPeriodic = 6, ClampToEdge = 3, Constant = 0, Periodic = 5, Reflect = 1, Symmetric = 2, Zero = 4, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphPaddingStyle ```csharp [Serializable] public enum MPSGraphPaddingStyle { Explicit = 0, ExplicitOffset = 3, Same = 2, Valid = 1, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphPooling2DOpDescriptor ```csharp public class MPSGraphPooling2DOpDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphPooling2DOpDescriptor (); protected MPSGraphPooling2DOpDescriptor (Foundation.NSObjectFlag t); protected MPSGraphPooling2DOpDescriptor (IntPtr handle); // properties public virtual bool CeilMode { get; set; } public override IntPtr ClassHandle { get; } public virtual MPSGraphTensorNamedDataLayout DataLayout { get; set; } public virtual nuint DilationRateInX { get; set; } public virtual nuint DilationRateInY { get; set; } public virtual bool IncludeZeroPadToAverage { get; set; } public virtual nuint KernelHeight { get; set; } public virtual nuint KernelWidth { get; set; } public virtual nuint PaddingBottom { get; set; } public virtual nuint PaddingLeft { get; set; } public virtual nuint PaddingRight { get; set; } public virtual MPSGraphPaddingStyle PaddingStyle { get; set; } public virtual nuint PaddingTop { get; set; } public virtual nuint StrideInX { get; set; } public virtual nuint StrideInY { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static MPSGraphPooling2DOpDescriptor Create (nuint kernelWidth, nuint kernelHeight, nuint strideInX, nuint strideInY, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout); public static MPSGraphPooling2DOpDescriptor Create (nuint kernelWidth, nuint kernelHeight, nuint strideInX, nuint strideInY, nuint dilationRateInX, nuint dilationRateInY, nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout); public virtual void SetExplicitPadding (nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphPooling4DOpDescriptor ```csharp public class MPSGraphPooling4DOpDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphPooling4DOpDescriptor (); protected MPSGraphPooling4DOpDescriptor (Foundation.NSObjectFlag t); protected MPSGraphPooling4DOpDescriptor (IntPtr handle); // properties public virtual bool CeilMode { get; set; } public override IntPtr ClassHandle { get; } public virtual int[] DilationRates { get; set; } public virtual bool IncludeZeroPadToAverage { get; set; } public virtual int[] KernelSizes { get; set; } public virtual MPSGraphPaddingStyle PaddingStyle { get; set; } public virtual int[] PaddingValues { get; set; } public virtual int[] Strides { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static MPSGraphPooling4DOpDescriptor Create (int[] kernelSizes, MPSGraphPaddingStyle paddingStyle); public static MPSGraphPooling4DOpDescriptor Create (int[] kernelSizes, int[] strides, int[] dilationRates, int[] paddingValues, MPSGraphPaddingStyle paddingStyle); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphRandomDistribution ```csharp [Serializable] public enum MPSGraphRandomDistribution { Normal = 1, TruncatedNormal = 2, Uniform = 0, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphRandomNormalSamplingMethod ```csharp [Serializable] public enum MPSGraphRandomNormalSamplingMethod { BoxMuller = 1, InvCdf = 0, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphRandomOpDescriptor ```csharp public class MPSGraphRandomOpDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphRandomOpDescriptor (); protected MPSGraphRandomOpDescriptor (Foundation.NSObjectFlag t); protected MPSGraphRandomOpDescriptor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MetalPerformanceShaders.MPSDataType DataType { get; set; } public virtual MPSGraphRandomDistribution Distribution { get; set; } public virtual float Max { get; set; } public virtual nint MaxInteger { get; set; } public virtual float Mean { get; set; } public virtual float Min { get; set; } public virtual nint MinInteger { get; set; } public virtual MPSGraphRandomNormalSamplingMethod SamplingMethod { get; set; } public virtual float StandardDeviation { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static MPSGraphRandomOpDescriptor Create (MPSGraphRandomDistribution distribution, MetalPerformanceShaders.MPSDataType dataType); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphReductionMode ```csharp [Serializable] public enum MPSGraphReductionMode { ArgumentMax = 5, ArgumentMin = 4, Max = 1, Min = 0, Product = 3, Sum = 2, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphResizeMode ```csharp [Serializable] public enum MPSGraphResizeMode { Bilinear = 1, Nearest = 0, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphScatterMode ```csharp [Serializable] public enum MPSGraphScatterMode { Add = 0, Div = 3, Max = 5, Min = 4, Mul = 2, Set = 6, Sub = 1, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphScheduledHandler ```csharp public sealed delegate MPSGraphScheduledHandler : System.MulticastDelegate { // constructors public MPSGraphScheduledHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> resultsDictionary, Foundation.NSError error, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensorData> resultsDictionary, Foundation.NSError error); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphShapedType ```csharp public class MPSGraphShapedType : MetalPerformanceShadersGraph.MPSGraphType { // constructors public MPSGraphShapedType (); protected MPSGraphShapedType (Foundation.NSObjectFlag t); protected MPSGraphShapedType (IntPtr handle); public MPSGraphShapedType (int[] shape, MetalPerformanceShaders.MPSDataType dataType); // properties public override IntPtr ClassHandle { get; } public virtual MetalPerformanceShaders.MPSDataType DataType { get; set; } public virtual int[] Shape { get; set; } // methods public virtual bool IsEqualTo (MPSGraphShapedType object); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphSparseStorageType ```csharp [Serializable] public enum MPSGraphSparseStorageType { Coo = 0, Csc = 1, Csr = 2, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphStencilOpDescriptor ```csharp public class MPSGraphStencilOpDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphStencilOpDescriptor (); protected MPSGraphStencilOpDescriptor (Foundation.NSObjectFlag t); protected MPSGraphStencilOpDescriptor (IntPtr handle); // properties public virtual MPSGraphPaddingMode BoundaryMode { get; set; } public override IntPtr ClassHandle { get; } public virtual int[] DilationRates { get; set; } public virtual int[] ExplicitPadding { get; set; } public virtual int[] Offsets { get; set; } public virtual float PaddingConstant { get; set; } public virtual MPSGraphPaddingStyle PaddingStyle { get; set; } public virtual MPSGraphReductionMode ReductionMode { get; set; } public virtual int[] Strides { get; set; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); public static MPSGraphStencilOpDescriptor Create (MPSGraphPaddingStyle paddingStyle); public static MPSGraphStencilOpDescriptor Create (int[] explicitPadding); public static MPSGraphStencilOpDescriptor Create (int[] offsets, int[] explicitPadding); public static MPSGraphStencilOpDescriptor Create (MPSGraphReductionMode reductionMode, int[] offsets, int[] strides, int[] dilationRates, int[] explicitPadding, MPSGraphPaddingMode boundaryMode, MPSGraphPaddingStyle paddingStyle, float paddingConstant); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphTensor ```csharp public class MPSGraphTensor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors protected MPSGraphTensor (Foundation.NSObjectFlag t); protected MPSGraphTensor (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MetalPerformanceShaders.MPSDataType DataType { get; } public virtual MPSGraphOperation Operation { get; } public virtual int[] Shape { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphTensorData ```csharp public class MPSGraphTensorData : Foundation.NSObject { // constructors public MPSGraphTensorData (); public MPSGraphTensorData (Foundation.NSArray<MetalPerformanceShaders.MPSImage> imageBatch); protected MPSGraphTensorData (Foundation.NSObjectFlag t); public MPSGraphTensorData (MetalPerformanceShaders.MPSMatrix matrix); public MPSGraphTensorData (MetalPerformanceShaders.MPSNDArray ndarray); public MPSGraphTensorData (MetalPerformanceShaders.MPSVector vector); protected MPSGraphTensorData (IntPtr handle); public MPSGraphTensorData (MetalPerformanceShaders.MPSMatrix matrix, nuint rank); public MPSGraphTensorData (MetalPerformanceShaders.MPSVector vector, nuint rank); public MPSGraphTensorData (Metal.IMTLBuffer buffer, int[] shape, MetalPerformanceShaders.MPSDataType dataType); public MPSGraphTensorData (MPSGraphDevice device, Foundation.NSData data, int[] shape, MetalPerformanceShaders.MPSDataType dataType); // properties public override IntPtr ClassHandle { get; } public virtual MetalPerformanceShaders.MPSDataType DataType { get; } public virtual MPSGraphDevice Device { get; } public virtual MetalPerformanceShaders.MPSNDArray MPSNDArray { get; } public virtual int[] Shape { get; } // methods public static MPSGraphTensorData Create (MetalPerformanceShaders.MPSImage[] imageBatch); public static MPSGraphTensorData Create (Metal.IMTLDevice device, System.ReadOnlySpan<float> values, int[] shape); public void Read (System.Span<float> values); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphTensorNamedDataLayout ```csharp [Serializable] public enum MPSGraphTensorNamedDataLayout { Chw = 4, Hw = 6, Hwc = 5, Hwio = 3, Nchw = 0, Nhwc = 1, Oihw = 2, } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphType ```csharp public class MPSGraphType : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable { // constructors public MPSGraphType (); protected MPSGraphType (Foundation.NSObjectFlag t); protected MPSGraphType (IntPtr handle); // properties public override IntPtr ClassHandle { get; } // methods public virtual Foundation.NSObject Copy (Foundation.NSZone zone); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphVariableOp ```csharp public class MPSGraphVariableOp : MetalPerformanceShadersGraph.MPSGraphOperation { // constructors protected MPSGraphVariableOp (Foundation.NSObjectFlag t); protected MPSGraphVariableOp (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual MetalPerformanceShaders.MPSDataType DataType { get; } public virtual int[] Shape { get; } } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphWhileAfterBlock ```csharp public sealed delegate MPSGraphWhileAfterBlock : System.MulticastDelegate { // constructors public MPSGraphWhileAfterBlock (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (MPSGraphTensor[] bodyBlockArguments, System.AsyncCallback callback, object object); public virtual MPSGraphTensor[] EndInvoke (System.IAsyncResult result); public virtual MPSGraphTensor[] Invoke (MPSGraphTensor[] bodyBlockArguments); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraphWhileBeforeBlock ```csharp public sealed delegate MPSGraphWhileBeforeBlock : System.MulticastDelegate { // constructors public MPSGraphWhileBeforeBlock (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (MPSGraphTensor[] inputTensors, Foundation.NSMutableArray<MPSGraphTensor> resultTensors, System.AsyncCallback callback, object object); public virtual MPSGraphTensor EndInvoke (System.IAsyncResult result); public virtual MPSGraphTensor Invoke (MPSGraphTensor[] inputTensors, Foundation.NSMutableArray<MPSGraphTensor> resultTensors); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_GatherNDOps ```csharp public static class MPSGraph_GatherNDOps { // methods public static MPSGraphTensor GatherND (this MPSGraph This, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, nuint batchDimensions, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_GatherOps ```csharp public static class MPSGraph_GatherOps { // methods public static MPSGraphTensor Gather (this MPSGraph This, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, nuint axis, nuint batchDimensions, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphActivationOps ```csharp public static class MPSGraph_MPSGraphActivationOps { // methods public static MPSGraphTensor LeakyReLU (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor alphaTensor, string name); public static MPSGraphTensor LeakyReLU (this MPSGraph This, MPSGraphTensor tensor, double alpha, string name); public static MPSGraphTensor LeakyReLUGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor alphaTensor, string name); public static MPSGraphTensor ReLU (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor ReLUGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, string name); public static MPSGraphTensor Sigmoid (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor SigmoidGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, string name); public static MPSGraphTensor SoftMax (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor SoftMaxGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, nint axis, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphArithmeticOps ```csharp public static class MPSGraph_MPSGraphArithmeticOps { // methods public static MPSGraphTensor Absolute (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Acos (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Acosh (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Addition (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Asin (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Asinh (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Atan (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Atan2 (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Atanh (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Ceil (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Clamp (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor minValueTensor, MPSGraphTensor maxValueTensor, string name); public static MPSGraphTensor Cos (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Cosh (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Division (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor DivisionNoNaN (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor EqualTo (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Erf (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Exponent (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor ExponentBase10 (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor ExponentBase2 (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Floor (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor FloorModulo (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor GreaterThan (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor GreaterThanOrEqualTo (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Identity (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor IsFinite (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor IsInfinite (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor IsNaN (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor LessThan (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor LessThanOrEqualTo (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Logarithm (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor LogarithmBase10 (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor LogarithmBase2 (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor LogicalAnd (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor LogicalNand (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor LogicalNor (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor LogicalOr (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor LogicalXnor (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor LogicalXor (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Maximum (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor MaximumWithNaNPropagation (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Minimum (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor MinimumWithNaNPropagation (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Modulo (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Multiplication (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Negative (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Not (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor NotEqualTo (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Power (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Reciprocal (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor ReverseSquareRoot (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Rint (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Round (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Select (this MPSGraph This, MPSGraphTensor predicateTensor, MPSGraphTensor truePredicateTensor, MPSGraphTensor falseSelectTensor, string name); public static MPSGraphTensor Sign (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Signbit (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Sin (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Sinh (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Square (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor SquareRoot (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Subtraction (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); public static MPSGraphTensor Tan (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Tanh (this MPSGraph This, MPSGraphTensor tensor, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphControlFlowOps ```csharp public static class MPSGraph_MPSGraphControlFlowOps { // methods public static MPSGraphTensor[] ControlDependency (this MPSGraph This, MPSGraphOperation[] operations, MPSGraphControlFlowDependencyBlock dependentBlock, string name); public static MPSGraphTensor[] For (this MPSGraph This, MPSGraphTensor numberOfIterations, MPSGraphTensor[] initialBodyArguments, MPSGraphForLoopBodyBlock body, string name); public static MPSGraphTensor[] For (this MPSGraph This, MPSGraphTensor lowerBound, MPSGraphTensor upperBound, MPSGraphTensor step, MPSGraphTensor[] initialBodyArguments, MPSGraphForLoopBodyBlock body, string name); public static MPSGraphTensor[] If (this MPSGraph This, MPSGraphTensor predicateTensor, MPSGraphIfThenElseBlock thenBlock, MPSGraphIfThenElseBlock elseBlock, string name); public static MPSGraphTensor[] While (this MPSGraph This, MPSGraphTensor[] initialInputs, MPSGraphWhileBeforeBlock before, MPSGraphWhileAfterBlock after, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphConvolutionOps ```csharp public static class MPSGraph_MPSGraphConvolutionOps { // methods public static MPSGraphTensor Convolution2D (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor weights, MPSGraphConvolution2DOpDescriptor descriptor, string name); public static MPSGraphTensor Convolution2DDataGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor weights, MPSGraphTensor outputShapeTensor, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, string name); public static MPSGraphTensor Convolution2DDataGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor weights, int[] outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, string name); public static MPSGraphTensor Convolution2DWeightsGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor outputShapeTensor, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, string name); public static MPSGraphTensor Convolution2DWeightsGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor source, int[] outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphConvolutionTransposeOps ```csharp public static class MPSGraph_MPSGraphConvolutionTransposeOps { // methods public static MPSGraphTensor ConvolutionTranspose2D (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor weights, MPSGraphTensor outputShape, MPSGraphConvolution2DOpDescriptor descriptor, string name); public static MPSGraphTensor ConvolutionTranspose2D (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor weights, int[] outputShape, MPSGraphConvolution2DOpDescriptor descriptor, string name); public static MPSGraphTensor ConvolutionTranspose2DDataGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor weights, MPSGraphTensor outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, string name); public static MPSGraphTensor ConvolutionTranspose2DDataGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor weights, int[] outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, string name); public static MPSGraphTensor ConvolutionTranspose2DWeightsGradient (this MPSGraph This, MPSGraphTensor incomingGradientTensor, MPSGraphTensor source, MPSGraphTensor outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, string name); public static MPSGraphTensor ConvolutionTranspose2DWeightsGradient (this MPSGraph This, MPSGraphTensor incomingGradientTensor, MPSGraphTensor source, int[] outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphDepthwiseConvolutionOps ```csharp public static class MPSGraph_MPSGraphDepthwiseConvolutionOps { // methods public static MPSGraphTensor DepthwiseConvolution2D (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor weights, MPSGraphDepthwiseConvolution2DOpDescriptor descriptor, string name); public static MPSGraphTensor DepthwiseConvolution2DDataGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor weights, int[] outputShape, MPSGraphDepthwiseConvolution2DOpDescriptor descriptor, string name); public static MPSGraphTensor DepthwiseConvolution2DWeightsGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor source, int[] outputShape, MPSGraphDepthwiseConvolution2DOpDescriptor descriptor, string name); public static MPSGraphTensor DepthwiseConvolution3D (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor weights, MPSGraphDepthwiseConvolution3DOpDescriptor descriptor, string name); public static MPSGraphTensor DepthwiseConvolution3DDataGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor weights, int[] outputShape, MPSGraphDepthwiseConvolution3DOpDescriptor descriptor, string name); public static MPSGraphTensor DepthwiseConvolution3DWeightsGradient (this MPSGraph This, MPSGraphTensor incomingGradient, MPSGraphTensor source, int[] outputShape, MPSGraphDepthwiseConvolution3DOpDescriptor descriptor, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphGradientOps ```csharp public static class MPSGraph_MPSGraphGradientOps { // methods public static Foundation.NSDictionary<MPSGraphTensor,MetalPerformanceShadersGraph.MPSGraphTensor> Gradients (this MPSGraph This, MPSGraphTensor of, MPSGraphTensor[] with, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphLossOps ```csharp public static class MPSGraph_MPSGraphLossOps { // methods public static MPSGraphTensor SoftMaxCrossEntropy (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor labels, nint axis, MPSGraphLossReductionType reductionType, string name); public static MPSGraphTensor SoftMaxCrossEntropyGradient (this MPSGraph This, MPSGraphTensor gradientTensor, MPSGraphTensor sourceTensor, MPSGraphTensor labelsTensor, nint axis, MPSGraphLossReductionType reductionType, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphMatrixMultiplicationOps ```csharp public static class MPSGraph_MPSGraphMatrixMultiplicationOps { // methods public static MPSGraphTensor MatrixMultiplication (this MPSGraph This, MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphNormalizationOps ```csharp public static class MPSGraph_MPSGraphNormalizationOps { // methods public static MPSGraphTensor Mean (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor Normalization (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor mean, MPSGraphTensor variance, MPSGraphTensor gamma, MPSGraphTensor beta, float epsilon, string name); public static MPSGraphTensor NormalizationBetaGradient (this MPSGraph This, MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, int[] axes, string name); public static MPSGraphTensor NormalizationGammaGradient (this MPSGraph This, MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, MPSGraphTensor meanTensor, MPSGraphTensor varianceTensor, int[] axes, float epsilon, string name); public static MPSGraphTensor NormalizationGradient (this MPSGraph This, MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, MPSGraphTensor meanTensor, MPSGraphTensor varianceTensor, MPSGraphTensor gamma, MPSGraphTensor gammaGradient, MPSGraphTensor betaGradient, int[] axes, float epsilon, string name); public static MPSGraphTensor Variance (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor Variance (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor meanTensor, int[] axes, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphOneHotOps ```csharp public static class MPSGraph_MPSGraphOneHotOps { // methods public static MPSGraphTensor OneHot (this MPSGraph This, MPSGraphTensor indicesTensor, nuint depth, string name); public static MPSGraphTensor OneHot (this MPSGraph This, MPSGraphTensor indicesTensor, nuint depth, MetalPerformanceShaders.MPSDataType dataType, string name); public static MPSGraphTensor OneHot (this MPSGraph This, MPSGraphTensor indicesTensor, nuint depth, nuint axis, string name); public static MPSGraphTensor OneHot (this MPSGraph This, MPSGraphTensor indicesTensor, nuint depth, nuint axis, MetalPerformanceShaders.MPSDataType dataType, string name); public static MPSGraphTensor OneHot (this MPSGraph This, MPSGraphTensor indicesTensor, nuint depth, MetalPerformanceShaders.MPSDataType dataType, double onValue, double offValue, string name); public static MPSGraphTensor OneHot (this MPSGraph This, MPSGraphTensor indicesTensor, nuint depth, nuint axis, MetalPerformanceShaders.MPSDataType dataType, double onValue, double offValue, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphOptimizerOps ```csharp public static class MPSGraph_MPSGraphOptimizerOps { // methods public static MPSGraphOperation ApplyStochasticGradientDescent (this MPSGraph This, MPSGraphTensor learningRate, MPSGraphVariableOp variable, MPSGraphTensor gradient, string name); public static MPSGraphTensor StochasticGradientDescent (this MPSGraph This, MPSGraphTensor learningRate, MPSGraphTensor values, MPSGraphTensor gradient, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphPoolingOps ```csharp public static class MPSGraph_MPSGraphPoolingOps { // methods public static MPSGraphTensor AvgPooling2D (this MPSGraph This, MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, string name); public static MPSGraphTensor AvgPooling2DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, string name); public static MPSGraphTensor AvgPooling4D (this MPSGraph This, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, string name); public static MPSGraphTensor AvgPooling4DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, string name); public static MPSGraphTensor L2NormPooling4D (this MPSGraph This, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, string name); public static MPSGraphTensor L2NormPooling4DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, string name); public static MPSGraphTensor MaxPooling2D (this MPSGraph This, MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, string name); public static MPSGraphTensor MaxPooling2DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, string name); public static MPSGraphTensor MaxPooling4D (this MPSGraph This, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, string name); public static MPSGraphTensor MaxPooling4DGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphRandomOps ```csharp public static class MPSGraph_MPSGraphRandomOps { // methods public static MPSGraphTensor Dropout (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor rate, string name); public static MPSGraphTensor Dropout (this MPSGraph This, MPSGraphTensor tensor, double rate, string name); public static MPSGraphTensor Random (this MPSGraph This, MPSGraphTensor shapeTensor, MPSGraphRandomOpDescriptor descriptor, string name); public static MPSGraphTensor Random (this MPSGraph This, int[] shape, MPSGraphRandomOpDescriptor descriptor, string name); public static MPSGraphTensor[] Random (this MPSGraph This, MPSGraphTensor shapeTensor, MPSGraphRandomOpDescriptor descriptor, MPSGraphTensor state, string name); public static MPSGraphTensor Random (this MPSGraph This, MPSGraphTensor shapeTensor, MPSGraphRandomOpDescriptor descriptor, nuint seed, string name); public static MPSGraphTensor[] Random (this MPSGraph This, int[] shape, MPSGraphRandomOpDescriptor descriptor, MPSGraphTensor state, string name); public static MPSGraphTensor Random (this MPSGraph This, int[] shape, MPSGraphRandomOpDescriptor descriptor, nuint seed, string name); public static MPSGraphTensor RandomPhiloxState (this MPSGraph This, nuint seed, string name); public static MPSGraphTensor RandomPhiloxState (this MPSGraph This, nuint counterLow, nuint counterHigh, nuint key, string name); public static MPSGraphTensor RandomUniform (this MPSGraph This, MPSGraphTensor shapeTensor, string name); public static MPSGraphTensor RandomUniform (this MPSGraph This, int[] shape, string name); public static MPSGraphTensor[] RandomUniform (this MPSGraph This, MPSGraphTensor shapeTensor, MPSGraphTensor state, string name); public static MPSGraphTensor RandomUniform (this MPSGraph This, MPSGraphTensor shapeTensor, nuint seed, string name); public static MPSGraphTensor[] RandomUniform (this MPSGraph This, int[] shape, MPSGraphTensor state, string name); public static MPSGraphTensor RandomUniform (this MPSGraph This, int[] shape, nuint seed, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphReductionOps ```csharp public static class MPSGraph_MPSGraphReductionOps { // methods public static MPSGraphTensor ReductionArgMaximum (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor ReductionArgMinimum (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor ReductionMaximum (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor ReductionMaximum (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor ReductionMaximumPropagateNaN (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor ReductionMaximumPropagateNaN (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor ReductionMinimum (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor ReductionMinimum (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor ReductionMinimumPropagateNaN (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor ReductionMinimumPropagateNaN (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor ReductionProduct (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor ReductionProduct (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor ReductionSum (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor ReductionSum (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphResizeOps ```csharp public static class MPSGraph_MPSGraphResizeOps { // methods public static MPSGraphTensor Resize (this MPSGraph This, MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphResizeMode mode, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, string name); public static MPSGraphTensor Resize (this MPSGraph This, MPSGraphTensor imagesTensor, int[] size, MPSGraphResizeMode mode, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, string name); public static MPSGraphTensor ResizeGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphResizeMode mode, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphScatterOps ```csharp public static class MPSGraph_MPSGraphScatterOps { // methods public static MPSGraphTensor Scatter (this MPSGraph This, MPSGraphTensor dataTensor, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, nint axis, MPSGraphScatterMode mode, string name); public static MPSGraphTensor Scatter (this MPSGraph This, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, int[] shape, nint axis, MPSGraphScatterMode mode, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphSparseOps ```csharp public static class MPSGraph_MPSGraphSparseOps { // methods public static MPSGraphTensor Sparse (this MPSGraph This, MPSGraphCreateSparseOpDescriptor sparseDescriptor, MPSGraphTensor[] inputTensorArray, int[] shape, string name); public static MPSGraphTensor Sparse (this MPSGraph This, MPSGraphSparseStorageType sparseStorageType, MPSGraphTensor[] inputTensorArray, int[] shape, MetalPerformanceShaders.MPSDataType dataType, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphStencilOps ```csharp public static class MPSGraph_MPSGraphStencilOps { // methods public static MPSGraphTensor Stencil (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor weights, MPSGraphStencilOpDescriptor descriptor, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphTensorShapeOps ```csharp public static class MPSGraph_MPSGraphTensorShapeOps { // methods public static MPSGraphTensor Broadcast (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor shapeTensor, string name); public static MPSGraphTensor Broadcast (this MPSGraph This, MPSGraphTensor tensor, int[] shape, string name); public static MPSGraphTensor Cast (this MPSGraph This, MPSGraphTensor tensor, MetalPerformanceShaders.MPSDataType type, string name); public static MPSGraphTensor Concat (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor tensor2, nint dimensionIndex, string name); public static MPSGraphTensor ConcatTensors (this MPSGraph This, MPSGraphTensor[] tensors, nint dimensionIndex, string name); public static MPSGraphTensor ConcatTensors (this MPSGraph This, MPSGraphTensor[] tensors, nint dimensionIndex, bool interleave, string name); public static MPSGraphTensor DepthToSpace2D (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor widthAxisTensor, MPSGraphTensor heightAxisTensor, MPSGraphTensor depthAxisTensor, nuint blockSize, bool usePixelShuffleOrder, string name); public static MPSGraphTensor DepthToSpace2D (this MPSGraph This, MPSGraphTensor tensor, nuint widthAxis, nuint heightAxis, nuint depthAxis, nuint blockSize, bool usePixelShuffleOrder, string name); public static MPSGraphTensor Flatten2D (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axisTensor, string name); public static MPSGraphTensor Flatten2D (this MPSGraph This, MPSGraphTensor tensor, nint axis, string name); public static MPSGraphTensor Pad (this MPSGraph This, MPSGraphTensor tensor, MPSGraphPaddingMode paddingMode, int[] leftPadding, int[] rightPadding, double constantValue, string name); public static MPSGraphTensor PadGradient (this MPSGraph This, MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, MPSGraphPaddingMode paddingMode, int[] leftPadding, int[] rightPadding, string name); public static MPSGraphTensor Reshape (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor shapeTensor, string name); public static MPSGraphTensor Reshape (this MPSGraph This, MPSGraphTensor tensor, int[] shape, string name); public static MPSGraphTensor Reverse (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Reverse (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor axesTensor, string name); public static MPSGraphTensor Reverse (this MPSGraph This, MPSGraphTensor tensor, int[] axes, string name); public static MPSGraphTensor Shape (this MPSGraph This, MPSGraphTensor tensor, string name); public static MPSGraphTensor Slice (this MPSGraph This, MPSGraphTensor tensor, int[] starts, int[] ends, int[] strides, string name); public static MPSGraphTensor Slice (this MPSGraph This, MPSGraphTensor tensor, nuint dimensionIndex, nint start, nint length, string name); public static MPSGraphTensor Slice (this MPSGraph This, MPSGraphTensor tensor, int[] starts, int[] ends, int[] strides, uint startMask, uint endMask, uint squeezeMask, string name); public static MPSGraphTensor SliceGradient (this MPSGraph This, MPSGraphTensor inputGradientTensor, MPSGraphTensor fwdInShapeTensor, int[] starts, int[] ends, int[] strides, string name); public static MPSGraphTensor SliceGradient (this MPSGraph This, MPSGraphTensor inputGradientTensor, MPSGraphTensor fwdInShapeTensor, int[] starts, int[] ends, int[] strides, uint startMask, uint endMask, uint squeezeMask, string name); public static MPSGraphTensor SpaceToDepth2D (this MPSGraph This, MPSGraphTensor tensor, MPSGraphTensor widthAxisTensor, MPSGraphTensor heightAxisTensor, MPSGraphTensor depthAxisTensor, nuint blockSize, bool usePixelShuffleOrder, string name); public static MPSGraphTensor SpaceToDepth2D (this MPSGraph This, MPSGraphTensor tensor, nuint widthAxis, nuint heightAxis, nuint depthAxis, nuint blockSize, bool usePixelShuffleOrder, string name); public static MPSGraphTensor Tile (this MPSGraph This, MPSGraphTensor tensor, int[] multiplier, string name); public static MPSGraphTensor TileGradient (this MPSGraph This, MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, int[] multiplier, string name); public static MPSGraphTensor Transpose (this MPSGraph This, MPSGraphTensor tensor, nuint dimensionIndex, nuint dimensionIndex2, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphTopKGradientOps ```csharp public static class MPSGraph_MPSGraphTopKGradientOps { // methods public static MPSGraphTensor TopKGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor kTensor, string name); public static MPSGraphTensor TopKGradient (this MPSGraph This, MPSGraphTensor gradient, MPSGraphTensor source, nuint k, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MPSGraphTopKOps ```csharp public static class MPSGraph_MPSGraphTopKOps { // methods public static MPSGraphTensor[] TopK (this MPSGraph This, MPSGraphTensor source, MPSGraphTensor kTensor, string name); public static MPSGraphTensor[] TopK (this MPSGraph This, MPSGraphTensor source, nuint k, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_MemoryOps ```csharp public static class MPSGraph_MemoryOps { // methods public static MPSGraphOperation Assign (this MPSGraph This, MPSGraphTensor variable, MPSGraphTensor tensor, string name); public static MPSGraphTensor Constant (this MPSGraph This, double scalar, MetalPerformanceShaders.MPSDataType dataType); public static MPSGraphTensor Constant (this MPSGraph This, Foundation.NSData data, int[] shape, MetalPerformanceShaders.MPSDataType dataType); public static MPSGraphTensor Constant (this MPSGraph This, double scalar, int[] shape, MetalPerformanceShaders.MPSDataType dataType); public static MPSGraphTensor Placeholder (this MPSGraph This, int[] shape, string name); public static MPSGraphTensor Placeholder (this MPSGraph This, int[] shape, MetalPerformanceShaders.MPSDataType dataType, string name); public static MPSGraphTensor Read (this MPSGraph This, MPSGraphTensor variable, string name); public static MPSGraphTensor Variable (this MPSGraph This, Foundation.NSData data, int[] shape, MetalPerformanceShaders.MPSDataType dataType, string name); } ``` #### New Type: MetalPerformanceShadersGraph.MPSGraph_ScatterNDOps ```csharp public static class MPSGraph_ScatterNDOps { // methods public static MPSGraphTensor ScatterND (this MPSGraph This, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, int[] shape, nuint batchDimensions, string name); public static MPSGraphTensor ScatterND (this MPSGraph This, MPSGraphTensor dataTensor, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, nuint batchDimensions, MPSGraphScatterMode mode, string name); public static MPSGraphTensor ScatterND (this MPSGraph This, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, int[] shape, nuint batchDimensions, MPSGraphScatterMode mode, string name); } ```