From bd4fee0cdc8bbdea34feaa7a6af8f9d9be472f98 Mon Sep 17 00:00:00 2001 From: "Frank A. Krueger" Date: Tue, 10 May 2022 01:52:22 -0700 Subject: [PATCH] Add MetalPerformanceShadersGraph Bindings (#14303) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I'm very pleased to present full bindings to the MetalPerformanceShadersGraph framework! I'm happy with how everything turned out with the exception of a few notes and questions below. I re-implemented Apple's MNIST sample (from https://developer.apple.com/documentation/metalperformanceshadersgraph/training_a_neural_network_using_mps_graph) here: https://gist.github.com/praeclarum/b8077771fb341a1f9c28240113e00425 It's also added as a unit test. Fixes #14286 ### Notes * Although the API says it works on macOS 11, it has bugs and crashes with errors even with Apple’s Swift examples. It’s better on macOS 12. iOS 14 and on is fine. * `MPSGraphSparseStorageType` has terrible names. They match Apple's but I wish they were better. * I added convenience methods to `MPSNDArray` and `MPSGrapTensorData` and the `Variable` and `Constant` operations to decrease the amount of unsafe code users have to write. I currently do this for 32-bit floats, the most common data type. Co-authored-by: Alex Soto Co-authored-by: Rolf Bjarne Kvinge Co-authored-by: Manuel de la Pena --- CODEOWNERS | 2 + src/Foundation/NSObject.mac.cs | 1 + src/MetalPerformanceShaders/MPSNDArray.cs | 42 + .../MPSGraphEnums.cs | 117 ++ .../MPSGraphExtensions.cs | 60 + .../MPSGraphTensorData.cs | 33 + src/frameworks.sources | 13 + src/generator.cs | 2 + src/metalperformanceshadersgraph.cs | 1832 +++++++++++++++++ tests/introspection/ApiSelectorTest.cs | 3 + tests/introspection/ApiTypoTest.cs | 1 + tests/introspection/iOS/iOSApiCtorInitTest.cs | 6 + tests/introspection/iOS/iOSApiFieldTest.cs | 6 + tests/introspection/iOS/iOSApiProtocolTest.cs | 6 + tests/introspection/iOS/iOSApiSelectorTest.cs | 6 + .../MetalPerformanceShaders/MnistTest.cs | 328 +++ ...Catalyst-MetalPerformanceShadersGraph.todo | 459 ----- .../iOS-MetalPerformanceShadersGraph.todo | 459 ----- .../macOS-MetalPerformanceShadersGraph.todo | 460 ----- .../tvOS-MetalPerformanceShadersGraph.todo | 459 ----- .../iOS-MetalPerformanceShadersGraph.todo | 459 ----- .../macOS-MetalPerformanceShadersGraph.todo | 460 ----- .../tvOS-MetalPerformanceShadersGraph.todo | 459 ----- tools/common/Frameworks.cs | 3 + tools/linker/ObjCExtensions.cs | 1 + tools/mtouch/Makefile | 1 + 26 files changed, 2463 insertions(+), 3215 deletions(-) create mode 100644 src/MetalPerformanceShadersGraph/MPSGraphEnums.cs create mode 100644 src/MetalPerformanceShadersGraph/MPSGraphExtensions.cs create mode 100644 src/MetalPerformanceShadersGraph/MPSGraphTensorData.cs create mode 100644 src/metalperformanceshadersgraph.cs create mode 100644 tests/monotouch-test/MetalPerformanceShaders/MnistTest.cs diff --git a/CODEOWNERS b/CODEOWNERS index 68b645ff0e88..7011b285314e 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -126,6 +126,8 @@ /src/metalkit.cs /src/MetalPerformanceShaders /src/metalperformanceshaders.cs +/src/MetalPerformanceShadersGraph @praeclarum +/src/metalperformanceshadersgraph.cs @praeclarum /src/MobileCoreServices /src/mobilecoreservices.cs /src/ModelIO diff --git a/src/Foundation/NSObject.mac.cs b/src/Foundation/NSObject.mac.cs index a7288392eaf0..a9d9aacc8374 100644 --- a/src/Foundation/NSObject.mac.cs +++ b/src/Foundation/NSObject.mac.cs @@ -104,6 +104,7 @@ public partial class NSObject : INativeObject static IntPtr ios = Dlfcn.dlopen (Constants.IOSurfaceLibrary, 1); static IntPtr ex = Dlfcn.dlopen (Constants.ExternalAccessoryLibrary, 1); static IntPtr ms = Dlfcn.dlopen (Constants.MetalPerformanceShadersLibrary, 1); + static IntPtr msg = Dlfcn.dlopen (Constants.MetalPerformanceShadersGraphLibrary, 1); static IntPtr bc = Dlfcn.dlopen (Constants.BusinessChatLibrary, 1); static IntPtr ad = Dlfcn.dlopen (Constants.AdSupportLibrary, 1); static IntPtr nl = Dlfcn.dlopen (Constants.NaturalLanguageLibrary, 1); diff --git a/src/MetalPerformanceShaders/MPSNDArray.cs b/src/MetalPerformanceShaders/MPSNDArray.cs index 6e5a8639c812..8286efcd8f2e 100644 --- a/src/MetalPerformanceShaders/MPSNDArray.cs +++ b/src/MetalPerformanceShaders/MPSNDArray.cs @@ -5,6 +5,18 @@ namespace MetalPerformanceShaders { public partial class MPSNDArray { + public static MPSNDArray Create (IMTLDevice device, ReadOnlySpan values, params int[] shape) + { + var ushape = new nuint [shape.Length]; + for (var i = 0; i < shape.Length; i++) { + ushape [i] = (nuint) shape [i]; + } + var desc = MPSNDArrayDescriptor.Create (MPSDataType.Float32, ushape); + var ndarray = new MPSNDArray (device, desc); + ndarray.Write (values); + return ndarray; + } + public void ExportData (IMTLCommandBuffer cmdBuf, IMTLBuffer buffer, MPSDataType sourceDataType, nuint offset) { ExportData (cmdBuf, buffer, sourceDataType, offset, IntPtr.Zero); @@ -37,6 +49,21 @@ public unsafe void WriteBytes (IntPtr buffer, nint[] strideBytesPerDimension) WriteBytes (buffer, (IntPtr)p); } } + public unsafe void Write (ReadOnlySpan values) + { + if (DataType != MPSDataType.Float32) + throw new InvalidOperationException($"Attempted to write array data of type {DataType} to span of Float32s."); + nuint length = 1; + var ndims = NumberOfDimensions; + for (nuint i = 0; i < ndims; i++) { + length *= GetLength (i); + } + if (length != (nuint) values.Length) + throw new ArgumentException ($"The number of values ({values.Length}) does not match the shape length ({length})."); + fixed (float* p = values) { + WriteBytes ((IntPtr) p, strideBytesPerDimension: IntPtr.Zero); + } + } public void ReadBytes (IntPtr buffer) { @@ -48,5 +75,20 @@ public unsafe void ReadBytes (IntPtr buffer, nint[] strideBytesPerDimension) ReadBytes (buffer, (IntPtr)p); } } + public unsafe void Read (Span values) + { + if (DataType != MPSDataType.Float32) + throw new InvalidOperationException ($"Attempted to read array data of type {DataType} to span of Float32s."); + nuint length = 1; + var ndims = NumberOfDimensions; + for (nuint i = 0; i < ndims; i++) { + length *= GetLength (i); + } + if (length != (nuint) values.Length) + throw new ArgumentException ($"The number of values ({values.Length}) does not match the shape length ({length})."); + fixed (float* p = values) { + ReadBytes ((IntPtr) p, strideBytesPerDimension: IntPtr.Zero); + } + } } } diff --git a/src/MetalPerformanceShadersGraph/MPSGraphEnums.cs b/src/MetalPerformanceShadersGraph/MPSGraphEnums.cs new file mode 100644 index 000000000000..bfd7475746e0 --- /dev/null +++ b/src/MetalPerformanceShadersGraph/MPSGraphEnums.cs @@ -0,0 +1,117 @@ +using System; +using System.Runtime.InteropServices; + +using Foundation; +using ObjCRuntime; +using Metal; + +namespace MetalPerformanceShadersGraph +{ + [Flags] + public enum MPSGraphOptions : ulong + { + None = 0, + SynchronizeResults = 1, + Verbose = 2, + Default = SynchronizeResults, + } + + [Native] + public enum MPSGraphTensorNamedDataLayout : ulong + { + Nchw = 0, + Nhwc = 1, + Oihw = 2, + Hwio = 3, + Chw = 4, + Hwc = 5, + Hw = 6, + } + + [Native] + public enum MPSGraphPaddingStyle : ulong + { + Explicit = 0, + Valid = 1, + Same = 2, + ExplicitOffset = 3, + } + + [Native] + public enum MPSGraphPaddingMode : long + { + Constant = 0, + Reflect = 1, + Symmetric = 2, + ClampToEdge = 3, + Zero = 4, + Periodic = 5, + AntiPeriodic = 6, + } + + [Native] + public enum MPSGraphReductionMode : ulong + { + Min = 0, + Max = 1, + Sum = 2, + Product = 3, + ArgumentMin = 4, + ArgumentMax = 5, + } + + [Native] + public enum MPSGraphResizeMode : ulong + { + Nearest = 0, + Bilinear = 1, + } + + [Native] + public enum MPSGraphScatterMode : long + { + Add = 0, + Sub = 1, + Mul = 2, + Div = 3, + Min = 4, + Max = 5, + Set = 6, + } + + public enum MPSGraphDeviceType : uint + { + Metal = 0, + } + + public enum MPSGraphLossReductionType : ulong + { + Axis = 0, + Sum = 1, + Mean = 2, + } + + // For COO, indexTensor0 is x index and indexTensor1 is y index + // For CSC, indexTensor0 and indexTensor1 correspond to rowIndex and colStarts respectively. + // For CSR, indexTensor0 and indexTensor1 correspond to colIndex and rowStarts respectively. + public enum MPSGraphSparseStorageType : ulong + { + Coo = 0, + Csc = 1, + Csr = 2, + } + + public enum MPSGraphRandomDistribution : ulong + { + Uniform = 0, + Normal = 1, + TruncatedNormal = 2, + } + + public enum MPSGraphRandomNormalSamplingMethod : ulong + { + InvCdf = 0, + BoxMuller = 1, + } + +} diff --git a/src/MetalPerformanceShadersGraph/MPSGraphExtensions.cs b/src/MetalPerformanceShadersGraph/MPSGraphExtensions.cs new file mode 100644 index 000000000000..9bfe1ab9f050 --- /dev/null +++ b/src/MetalPerformanceShadersGraph/MPSGraphExtensions.cs @@ -0,0 +1,60 @@ +#nullable enable + +using System; +using System.Buffers; +using System.Runtime.InteropServices; + +using Foundation; +using ObjCRuntime; +using Metal; +using MetalPerformanceShaders; + +namespace MetalPerformanceShadersGraph +{ + public static partial class MPSGraphMemoryOps_Extensions + { + public static unsafe MPSGraphTensor Constant (this MPSGraph graph, float scalar) + { + return graph.Constant ((double) scalar, new [] { 1 }, MPSDataType.Float32); + } + + public static unsafe MPSGraphTensor Constant (this MPSGraph graph, ReadOnlySpan values, int[] shape) + { + var length = 1; + for (var i = 0; i < shape.Length; i++) + length *= shape [i]; + if (length != values.Length) + throw new ArgumentException ($"The number of values ({values.Length}) does not match the shape length ({length})."); + fixed (float* p = values) { + using var data = NSData.FromBytesNoCopy ((IntPtr) p, (nuint) (values.Length * 4), freeWhenDone: false); + return graph.Constant (data, shape, MPSDataType.Float32); + } + } + + public static MPSGraphTensor Variable (this MPSGraph graph, float initialValue, int[] shape, string? name = null) + { + var length = 1; + for (var i = 0; i < shape.Length; i++) + length *= shape [i]; + var pool = ArrayPool.Shared; + var a = pool.Rent (length); + Array.Fill (a, initialValue); + var v = Variable (graph, a, shape, name); + pool.Return (a); + return v; + } + + public static unsafe MPSGraphTensor Variable (this MPSGraph graph, ReadOnlySpan initialValues, int[] shape, string? name = null) + { + var length = 1; + for (var i = 0; i < shape.Length; i++) + length *= shape [i]; + if (length != initialValues.Length) + throw new ArgumentException ($"The number of initial values ({initialValues.Length}) does not match the shape length ({length})."); + fixed (float* p = initialValues) { + using var data = NSData.FromBytesNoCopy ((IntPtr) p, (nuint) (initialValues.Length * 4), freeWhenDone: false); + return graph.Variable (data, shape, MPSDataType.Float32, name); + } + } + } +} diff --git a/src/MetalPerformanceShadersGraph/MPSGraphTensorData.cs b/src/MetalPerformanceShadersGraph/MPSGraphTensorData.cs new file mode 100644 index 000000000000..d56cb13d4e5c --- /dev/null +++ b/src/MetalPerformanceShadersGraph/MPSGraphTensorData.cs @@ -0,0 +1,33 @@ +#nullable enable + +using System; +using System.Buffers; +using System.Runtime.InteropServices; + +using Foundation; +using ObjCRuntime; +using Metal; +using MetalPerformanceShaders; + +namespace MetalPerformanceShadersGraph +{ + public partial class MPSGraphTensorData + { + public static MPSGraphTensorData Create (IMTLDevice device, ReadOnlySpan values, params int[] shape) + { + var ndarray = MPSNDArray.Create (device, values, shape); + return new MPSGraphTensorData (ndarray); + } + + public static MPSGraphTensorData Create (params MPSImage[] imageBatch) + { + return new MPSGraphTensorData (NSArray.FromNSObjects (imageBatch)); + } + + public void Read (Span values) + { + using var ndarray = this.MPSNDArray; + ndarray.Read (values); + } + } +} diff --git a/src/frameworks.sources b/src/frameworks.sources index 47877cdd7451..7480032c52c4 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -1187,6 +1187,15 @@ METALPERFORMANCESHADERS_SOURCES = \ MetalPerformanceShaders/MPSStateBatch.cs \ MetalPerformanceShaders/MPSStateResourceList.cs \ +# MetalPerformanceShadersGraph + +METALPERFORMANCESHADERSGRAPH_API_SOURCES = \ + MetalPerformanceShadersGraph/MPSGraphEnums.cs \ + +METALPERFORMANCESHADERSGRAPH_SOURCES = \ + MetalPerformanceShadersGraph/MPSGraphExtensions.cs \ + MetalPerformanceShadersGraph/MPSGraphTensorData.cs \ + # MetricKit METRICKIT_SOURCES = \ @@ -2026,6 +2035,7 @@ MACOS_FRAMEWORKS = \ Metal \ MetalKit \ MetalPerformanceShaders \ + MetalPerformanceShadersGraph \ MetricKit \ MLCompute \ MobileCoreServices \ @@ -2135,6 +2145,7 @@ IOS_FRAMEWORKS = \ Metal \ MetalKit \ MetalPerformanceShaders \ + MetalPerformanceShadersGraph \ MetricKit \ MLCompute \ MobileCoreServices \ @@ -2239,6 +2250,7 @@ TVOS_FRAMEWORKS = \ Metal \ MetalKit \ MetalPerformanceShaders \ + MetalPerformanceShadersGraph \ MLCompute \ MobileCoreServices \ ModelIO \ @@ -2321,6 +2333,7 @@ MACCATALYST_FRAMEWORKS = \ Metal \ MetalKit \ MetalPerformanceShaders \ + MetalPerformanceShadersGraph \ MetricKit \ MLCompute \ MobileCoreServices \ diff --git a/src/generator.cs b/src/generator.cs index 5ac7733a1528..b5f511152779 100644 --- a/src/generator.cs +++ b/src/generator.cs @@ -791,6 +791,8 @@ public NamespaceManager (BindingTouch binding_touch, string customObjCRuntimeNS, ImplicitNamespaces.Add ("ModelIO"); if (Frameworks.HaveMetal) ImplicitNamespaces.Add ("Metal"); + if (Frameworks.HaveMetalPerformanceShadersGraph) + ImplicitNamespaces.Add ("MetalPerformanceShadersGraph"); if (Frameworks.HaveCoreImage) ImplicitNamespaces.Add ("CoreImage"); diff --git a/src/metalperformanceshadersgraph.cs b/src/metalperformanceshadersgraph.cs new file mode 100644 index 000000000000..704549dc9859 --- /dev/null +++ b/src/metalperformanceshadersgraph.cs @@ -0,0 +1,1832 @@ +using System; +using CoreGraphics; +using Foundation; +using Metal; +using MetalPerformanceShaders; +using ObjCRuntime; + +#if !NET +using NativeHandle = System.IntPtr; +#endif + +using MPSGraphTensorDataDictionary = Foundation.NSDictionary; +using MPSGraphTensorShapedTypeDictionary = Foundation.NSDictionary; + +namespace MetalPerformanceShadersGraph +{ + // MPSGraph.h + + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof (NSObject))] + interface MPSGraph { + [Static, Export ("new")] + [return: Release] + MPSGraph Create (); + + // @property (readwrite, atomic) MPSGraphOptions options; + [Export ("options", ArgumentSemantic.Assign)] + MPSGraphOptions Options { get; set; } + + // @property (readonly, nonatomic) NSArray * _Nonnull placeholderTensors; + [Export ("placeholderTensors")] + MPSGraphTensor[] PlaceholderTensors { get; } + + // -(MPSGraphExecutable * _Nonnull)compileWithDevice:(MPSGraphDevice * _Nullable)device feeds:(MPSGraphTensorShapedTypeDictionary * _Nonnull)feeds targetTensors:(NSArray * _Nonnull)targetTensors targetOperations:(NSArray * _Nullable)targetOperations compilationDescriptor:(MPSGraphCompilationDescriptor * _Nullable)compilationDescriptor __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("compileWithDevice:feeds:targetTensors:targetOperations:compilationDescriptor:")] + MPSGraphExecutable Compile ([NullAllowed] MPSGraphDevice device, NSDictionary feeds, MPSGraphTensor[] targetTensors, [NullAllowed] MPSGraphOperation[] targetOperations, [NullAllowed] MPSGraphCompilationDescriptor compilationDescriptor); + + [Export ("runWithFeeds:targetTensors:targetOperations:")] + MPSGraphTensorDataDictionary Run (MPSGraphTensorDataDictionary feeds, MPSGraphTensor[] targetTensors, [NullAllowed] MPSGraphOperation[] targetOperations); + + [Export ("runWithMTLCommandQueue:feeds:targetTensors:targetOperations:")] + MPSGraphTensorDataDictionary Run (IMTLCommandQueue commandQueue, MPSGraphTensorDataDictionary feeds, MPSGraphTensor[] targetTensors, [NullAllowed] MPSGraphOperation[] targetOperations); + + [Export ("runWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:")] + void Run (IMTLCommandQueue commandQueue, MPSGraphTensorDataDictionary feeds, [NullAllowed] MPSGraphOperation[] targetOperations, MPSGraphTensorDataDictionary resultsDictionary); + + [Export ("runAsyncWithFeeds:targetTensors:targetOperations:executionDescriptor:")] + MPSGraphTensorDataDictionary RunAsync (MPSGraphTensorDataDictionary feeds, MPSGraphTensor[] targetTensors, [NullAllowed] MPSGraphOperation[] targetOperations, [NullAllowed] MPSGraphExecutionDescriptor executionDescriptor); + + [Export ("runAsyncWithMTLCommandQueue:feeds:targetTensors:targetOperations:executionDescriptor:")] + MPSGraphTensorDataDictionary RunAsync (IMTLCommandQueue commandQueue, MPSGraphTensorDataDictionary feeds, MPSGraphTensor[] targetTensors, [NullAllowed] MPSGraphOperation[] targetOperations, [NullAllowed] MPSGraphExecutionDescriptor executionDescriptor); + + [Export ("runAsyncWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:executionDescriptor:")] + void RunAsync (IMTLCommandQueue commandQueue, MPSGraphTensorDataDictionary feeds, [NullAllowed] MPSGraphOperation[] targetOperations, MPSGraphTensorDataDictionary resultsDictionary, [NullAllowed] MPSGraphExecutionDescriptor executionDescriptor); + + [Export ("encodeToCommandBuffer:feeds:targetTensors:targetOperations:executionDescriptor:")] + MPSGraphTensorDataDictionary Encode (MPSCommandBuffer commandBuffer, MPSGraphTensorDataDictionary feeds, MPSGraphTensor[] targetTensors, [NullAllowed] MPSGraphOperation[] targetOperations, [NullAllowed] MPSGraphExecutionDescriptor executionDescriptor); + + [Export ("encodeToCommandBuffer:feeds:targetOperations:resultsDictionary:executionDescriptor:")] + void Encode (MPSCommandBuffer commandBuffer, MPSGraphTensorDataDictionary feeds, [NullAllowed] MPSGraphOperation[] targetOperations, MPSGraphTensorDataDictionary resultsDictionary, [NullAllowed] MPSGraphExecutionDescriptor executionDescriptor); + + } + + // @interface MPSGraphGradientOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphGradientOps + { + // -(NSDictionary * _Nonnull)gradientForPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor withTensors:(NSArray * _Nonnull)tensors name:(NSString * _Nullable)name __attribute__((swift_name("gradients(of:with:name:)"))); + [Export ("gradientForPrimaryTensor:withTensors:name:")] + NSDictionary Gradients (MPSGraphTensor of, MPSGraphTensor[] with, [NullAllowed] string name); + } + + // @interface MPSGraphActivationOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphActivationOps + { + // -(MPSGraphTensor * _Nonnull)reLUWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("reLUWithTensor:name:")] + MPSGraphTensor ReLU (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reLUGradientWithIncomingGradient:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source name:(NSString * _Nullable)name; + [Export ("reLUGradientWithIncomingGradient:sourceTensor:name:")] + MPSGraphTensor ReLUGradient (MPSGraphTensor gradient, MPSGraphTensor source, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sigmoidWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("sigmoidWithTensor:name:")] + MPSGraphTensor Sigmoid (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sigmoidGradientWithIncomingGradient:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source name:(NSString * _Nullable)name; + [Export ("sigmoidGradientWithIncomingGradient:sourceTensor:name:")] + MPSGraphTensor SigmoidGradient (MPSGraphTensor gradient, MPSGraphTensor source, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)softMaxWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name; + [Export ("softMaxWithTensor:axis:name:")] + MPSGraphTensor SoftMax (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)softMaxGradientWithIncomingGradient:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source axis:(NSInteger)axis name:(NSString * _Nullable)name; + [Export ("softMaxGradientWithIncomingGradient:sourceTensor:axis:name:")] + MPSGraphTensor SoftMaxGradient (MPSGraphTensor gradient, MPSGraphTensor source, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)leakyReLUWithTensor:(MPSGraphTensor * _Nonnull)tensor alpha:(double)alpha name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("leakyReLUWithTensor:alpha:name:")] + MPSGraphTensor LeakyReLU (MPSGraphTensor tensor, double alpha, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)leakyReLUWithTensor:(MPSGraphTensor * _Nonnull)tensor alphaTensor:(MPSGraphTensor * _Nonnull)alphaTensor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("leakyReLUWithTensor:alphaTensor:name:")] + MPSGraphTensor LeakyReLU (MPSGraphTensor tensor, MPSGraphTensor alphaTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)leakyReLUGradientWithIncomingGradient:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source alphaTensor:(MPSGraphTensor * _Nonnull)alphaTensor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("leakyReLUGradientWithIncomingGradient:sourceTensor:alphaTensor:name:")] + MPSGraphTensor LeakyReLUGradient (MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor alphaTensor, [NullAllowed] string name); + } + + // @interface MPSGraphArithmeticOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphArithmeticOps + { + // -(MPSGraphTensor * _Nonnull)identityWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("identityWithTensor:name:")] + MPSGraphTensor Identity (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)exponentWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("exponentWithTensor:name:")] + MPSGraphTensor Exponent (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)exponentBase2WithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("exponentBase2WithTensor:name:")] + MPSGraphTensor ExponentBase2 (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)exponentBase10WithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("exponentBase10WithTensor:name:")] + MPSGraphTensor ExponentBase10 (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logarithmWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("logarithmWithTensor:name:")] + MPSGraphTensor Logarithm (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logarithmBase2WithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("logarithmBase2WithTensor:name:")] + MPSGraphTensor LogarithmBase2 (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logarithmBase10WithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("logarithmBase10WithTensor:name:")] + MPSGraphTensor LogarithmBase10 (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)squareWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("squareWithTensor:name:")] + MPSGraphTensor Square (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)squareRootWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("squareRootWithTensor:name:")] + MPSGraphTensor SquareRoot (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reverseSquareRootWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("reverseSquareRootWithTensor:name:")] + MPSGraphTensor ReverseSquareRoot (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reciprocalWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("reciprocalWithTensor:name:")] + MPSGraphTensor Reciprocal (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)absoluteWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("absoluteWithTensor:name:")] + MPSGraphTensor Absolute (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)negativeWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("negativeWithTensor:name:")] + MPSGraphTensor Negative (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)signWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("signWithTensor:name:")] + MPSGraphTensor Sign (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)signbitWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("signbitWithTensor:name:")] + MPSGraphTensor Signbit (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)ceilWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("ceilWithTensor:name:")] + MPSGraphTensor Ceil (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)floorWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("floorWithTensor:name:")] + MPSGraphTensor Floor (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)roundWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("roundWithTensor:name:")] + MPSGraphTensor Round (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)rintWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("rintWithTensor:name:")] + MPSGraphTensor Rint (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sinWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("sinWithTensor:name:")] + MPSGraphTensor Sin (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)cosWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("cosWithTensor:name:")] + MPSGraphTensor Cos (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)tanWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("tanWithTensor:name:")] + MPSGraphTensor Tan (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sinhWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("sinhWithTensor:name:")] + MPSGraphTensor Sinh (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)coshWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("coshWithTensor:name:")] + MPSGraphTensor Cosh (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)tanhWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("tanhWithTensor:name:")] + MPSGraphTensor Tanh (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)asinWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("asinWithTensor:name:")] + MPSGraphTensor Asin (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)acosWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("acosWithTensor:name:")] + MPSGraphTensor Acos (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)atanWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("atanWithTensor:name:")] + MPSGraphTensor Atan (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)asinhWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("asinhWithTensor:name:")] + MPSGraphTensor Asinh (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)acoshWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("acoshWithTensor:name:")] + MPSGraphTensor Acosh (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)atanhWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("atanhWithTensor:name:")] + MPSGraphTensor Atanh (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)notWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("notWithTensor:name:")] + MPSGraphTensor Not (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)isInfiniteWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("isInfiniteWithTensor:name:")] + MPSGraphTensor IsInfinite (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)isFiniteWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("isFiniteWithTensor:name:")] + MPSGraphTensor IsFinite (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)isNaNWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("isNaNWithTensor:name:")] + MPSGraphTensor IsNaN (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)erfWithTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name; + [Export ("erfWithTensor:name:")] + MPSGraphTensor Erf (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)additionWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("addition(_:_:name:)"))); + [Export ("additionWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Addition (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)subtractionWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("subtraction(_:_:name:)"))); + [Export ("subtractionWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Subtraction (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)multiplicationWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("multiplication(_:_:name:)"))); + [Export ("multiplicationWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Multiplication (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)divisionWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("division(_:_:name:)"))); + [Export ("divisionWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Division (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)moduloWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("modulo(_:_:name:)"))); + [Export ("moduloWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Modulo (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)powerWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("power(_:_:name:)"))); + [Export ("powerWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Power (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)minimumWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("minimum(_:_:name:)"))); + [Export ("minimumWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Minimum (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)maximumWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("maximum(_:_:name:)"))); + [Export ("maximumWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Maximum (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)minimumWithNaNPropagationWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("minimumWithNaNPropagation(_:_:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("minimumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor MinimumWithNaNPropagation (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)maximumWithNaNPropagationWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("maximumWithNaNPropagation(_:_:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("maximumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor MaximumWithNaNPropagation (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)equalWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("equal(_:_:name:)"))); + [Export ("equalWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor EqualTo (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)notEqualWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("notEqual(_:_:name:)"))); + [Export ("notEqualWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor NotEqualTo (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)lessThanWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("lessThan(_:_:name:)"))); + [Export ("lessThanWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor LessThan (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)lessThanOrEqualToWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("lessThanOrEqualTo(_:_:name:)"))); + [Export ("lessThanOrEqualToWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor LessThanOrEqualTo (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)greaterThanWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("greaterThan(_:_:name:)"))); + [Export ("greaterThanWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor GreaterThan (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)greaterThanOrEqualToWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("greaterThanOrEqualTo(_:_:name:)"))); + [Export ("greaterThanOrEqualToWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor GreaterThanOrEqualTo (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logicalANDWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("logicalAND(_:_:name:)"))); + [Export ("logicalANDWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor LogicalAnd (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logicalORWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("logicalOR(_:_:name:)"))); + [Export ("logicalORWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor LogicalOr (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logicalNANDWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("logicalNAND(_:_:name:)"))); + [Export ("logicalNANDWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor LogicalNand (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logicalNORWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("logicalNOR(_:_:name:)"))); + [Export ("logicalNORWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor LogicalNor (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logicalXORWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("logicalXOR(_:_:name:)"))); + [Export ("logicalXORWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor LogicalXor (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)logicalXNORWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("logicalXNOR(_:_:name:)"))); + [Export ("logicalXNORWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor LogicalXnor (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)atan2WithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name; + [Export ("atan2WithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor Atan2 (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)selectWithPredicateTensor:(MPSGraphTensor * _Nonnull)predicateTensor truePredicateTensor:(MPSGraphTensor * _Nonnull)truePredicateTensor falsePredicateTensor:(MPSGraphTensor * _Nonnull)falseSelectTensor name:(NSString * _Nullable)name __attribute__((swift_name("select(predicate:trueTensor:falseTensor:name:)"))); + [Export ("selectWithPredicateTensor:truePredicateTensor:falsePredicateTensor:name:")] + MPSGraphTensor Select (MPSGraphTensor predicateTensor, MPSGraphTensor truePredicateTensor, MPSGraphTensor falseSelectTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)clampWithTensor:(MPSGraphTensor * _Nonnull)tensor minValueTensor:(MPSGraphTensor * _Nonnull)minValueTensor maxValueTensor:(MPSGraphTensor * _Nonnull)maxValueTensor name:(NSString * _Nullable)name __attribute__((swift_name("clamp(_:min:max:name:)"))); + [Export ("clampWithTensor:minValueTensor:maxValueTensor:name:")] + MPSGraphTensor Clamp (MPSGraphTensor tensor, MPSGraphTensor minValueTensor, MPSGraphTensor maxValueTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)divisionNoNaNWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("divisionNoNaN(_:_:name:)"))); + [Export ("divisionNoNaNWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor DivisionNoNaN (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)floorModuloWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("floorModulo(_:_:name:)"))); + [Export ("floorModuloWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor FloorModulo (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + } + + // @interface MPSGraphConvolution2DOpDescriptor : NSObject + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphConvolution2DOpDescriptor : NSCopying + { + // @property (readwrite, nonatomic) NSUInteger strideInX; + [Export ("strideInX")] + nuint StrideInX { get; set; } + + // @property (readwrite, nonatomic) NSUInteger strideInY; + [Export ("strideInY")] + nuint StrideInY { get; set; } + + // @property (readwrite, nonatomic) NSUInteger dilationRateInX; + [Export ("dilationRateInX")] + nuint DilationRateInX { get; set; } + + // @property (readwrite, nonatomic) NSUInteger dilationRateInY; + [Export ("dilationRateInY")] + nuint DilationRateInY { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingLeft; + [Export ("paddingLeft")] + nuint PaddingLeft { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingRight; + [Export ("paddingRight")] + nuint PaddingRight { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingTop; + [Export ("paddingTop")] + nuint PaddingTop { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingBottom; + [Export ("paddingBottom")] + nuint PaddingBottom { get; set; } + + // @property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle; + [Export ("paddingStyle", ArgumentSemantic.Assign)] + MPSGraphPaddingStyle PaddingStyle { get; set; } + + // @property (readwrite, nonatomic) MPSGraphTensorNamedDataLayout dataLayout; + [Export ("dataLayout", ArgumentSemantic.Assign)] + MPSGraphTensorNamedDataLayout DataLayout { get; set; } + + // @property (readwrite, nonatomic) MPSGraphTensorNamedDataLayout weightsLayout; + [Export ("weightsLayout", ArgumentSemantic.Assign)] + MPSGraphTensorNamedDataLayout WeightsLayout { get; set; } + + // @property (readwrite, nonatomic) NSUInteger groups; + [Export ("groups")] + nuint Groups { get; set; } + + // +(instancetype _Nullable)descriptorWithStrideInX:(NSUInteger)strideInX strideInY:(NSUInteger)strideInY dilationRateInX:(NSUInteger)dilationRateInX dilationRateInY:(NSUInteger)dilationRateInY groups:(NSUInteger)groups paddingLeft:(NSUInteger)paddingLeft paddingRight:(NSUInteger)paddingRight paddingTop:(NSUInteger)paddingTop paddingBottom:(NSUInteger)paddingBottom paddingStyle:(MPSGraphPaddingStyle)paddingStyle dataLayout:(MPSGraphTensorNamedDataLayout)dataLayout weightsLayout:(MPSGraphTensorNamedDataLayout)weightsLayout; + [Static] + [Export ("descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout:")] + [return: NullAllowed] + 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); + + // +(instancetype _Nullable)descriptorWithStrideInX:(NSUInteger)strideInX strideInY:(NSUInteger)strideInY dilationRateInX:(NSUInteger)dilationRateInX dilationRateInY:(NSUInteger)dilationRateInY groups:(NSUInteger)groups paddingStyle:(MPSGraphPaddingStyle)paddingStyle dataLayout:(MPSGraphTensorNamedDataLayout)dataLayout weightsLayout:(MPSGraphTensorNamedDataLayout)weightsLayout; + [Static] + [Export ("descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingStyle:dataLayout:weightsLayout:")] + [return: NullAllowed] + MPSGraphConvolution2DOpDescriptor Create (nuint strideInX, nuint strideInY, nuint dilationRateInX, nuint dilationRateInY, nuint groups, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout); + + // -(void)setExplicitPaddingWithPaddingLeft:(NSUInteger)paddingLeft paddingRight:(NSUInteger)paddingRight paddingTop:(NSUInteger)paddingTop paddingBottom:(NSUInteger)paddingBottom; + [Export ("setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom:")] + void SetExplicitPadding (nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom); + } + + // @interface MPSGraphConvolutionOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphConvolutionOps + { + // -(MPSGraphTensor * _Nonnull)convolution2DWithSourceTensor:(MPSGraphTensor * _Nonnull)source weightsTensor:(MPSGraphTensor * _Nonnull)weights descriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("convolution2D(_:weights:descriptor:name:)"))); + [Export ("convolution2DWithSourceTensor:weightsTensor:descriptor:name:")] + MPSGraphTensor Convolution2D (MPSGraphTensor source, MPSGraphTensor weights, MPSGraphConvolution2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolution2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradient weightsTensor:(MPSGraphTensor * _Nonnull)weights outputShape:(MPSShape * _Nonnull)outputShape forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)forwardConvolutionDescriptor name:(NSString * _Nullable)name __attribute__((swift_name("convolution2DDataGradient(_:weights:outputShape:forwardConvolutionDescriptor:name:)"))); + [Export ("convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name:")] + MPSGraphTensor Convolution2DDataGradient (MPSGraphTensor incomingGradient, MPSGraphTensor weights, [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolution2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)gradient weightsTensor:(MPSGraphTensor * _Nonnull)weights outputShapeTensor:(MPSGraphTensor * _Nonnull)outputShapeTensor forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)forwardConvolutionDescriptor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("convolution2DDataGradient(_:weights:outputShapeTensor:forwardConvolutionDescriptor:name:)"))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name:")] + MPSGraphTensor Convolution2DDataGradient (MPSGraphTensor gradient, MPSGraphTensor weights, MPSGraphTensor outputShapeTensor, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolution2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradient sourceTensor:(MPSGraphTensor * _Nonnull)source outputShape:(MPSShape * _Nonnull)outputShape forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)forwardConvolutionDescriptor name:(NSString * _Nullable)name __attribute__((swift_name("convolution2DWeightsGradient(_:source:outputShape:forwardConvolutionDescriptor:name:)"))); + [Export ("convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name:")] + MPSGraphTensor Convolution2DWeightsGradient (MPSGraphTensor incomingGradient, MPSGraphTensor source, [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolution2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source outputShapeTensor:(MPSGraphTensor * _Nonnull)outputShapeTensor forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)forwardConvolutionDescriptor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("convolution2DWeightsGradient(_:source:outputShapeTensor:forwardConvolutionDescriptor:name:)"))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name:")] + MPSGraphTensor Convolution2DWeightsGradient (MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor outputShapeTensor, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, [NullAllowed] string name); + } + + // @interface MPSGraphConvolutionTransposeOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphConvolutionTransposeOps + { + // -(MPSGraphTensor * _Nonnull)convolutionTranspose2DWithSourceTensor:(MPSGraphTensor * _Nonnull)source weightsTensor:(MPSGraphTensor * _Nonnull)weights outputShape:(MPSShape * _Nonnull)outputShape descriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("convolutionTranspose2D(_:weights:outputShape:descriptor:name:)"))); + [Export ("convolutionTranspose2DWithSourceTensor:weightsTensor:outputShape:descriptor:name:")] + MPSGraphTensor ConvolutionTranspose2D (MPSGraphTensor source, MPSGraphTensor weights, [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphConvolution2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolutionTranspose2DWithSourceTensor:(MPSGraphTensor * _Nonnull)source weightsTensor:(MPSGraphTensor * _Nonnull)weights outputShapeTensor:(MPSGraphTensor * _Nonnull)outputShape descriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("convolutionTranspose2D(_:weights:outputShapeTensor:descriptor:name:)"))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("convolutionTranspose2DWithSourceTensor:weightsTensor:outputShapeTensor:descriptor:name:")] + MPSGraphTensor ConvolutionTranspose2D (MPSGraphTensor source, MPSGraphTensor weights, MPSGraphTensor outputShape, MPSGraphConvolution2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolutionTranspose2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradient weightsTensor:(MPSGraphTensor * _Nonnull)weights outputShape:(MPSShape * _Nonnull)outputShape forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)forwardConvolutionDescriptor name:(NSString * _Nullable)name __attribute__((swift_name("convolutionTranspose2DDataGradient(_:weights:outputShape:forwardConvolutionDescriptor:name:)"))); + [Export ("convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name:")] + MPSGraphTensor ConvolutionTranspose2DDataGradient (MPSGraphTensor incomingGradient, MPSGraphTensor weights, [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolutionTranspose2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradient weightsTensor:(MPSGraphTensor * _Nonnull)weights outputShapeTensor:(MPSGraphTensor * _Nonnull)outputShape forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)forwardConvolutionDescriptor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("convolutionTranspose2DDataGradient(_:weights:outputShapeTensor:forwardConvolutionDescriptor:name:)"))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name:")] + MPSGraphTensor ConvolutionTranspose2DDataGradient (MPSGraphTensor incomingGradient, MPSGraphTensor weights, MPSGraphTensor outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradientTensor sourceTensor:(MPSGraphTensor * _Nonnull)source outputShape:(MPSShape * _Nonnull)outputShape forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)forwardConvolutionDescriptor name:(NSString * _Nullable)name __attribute__((swift_name("convolutionTranspose2DWeightsGradient(_:weights:outputShape:forwardConvolutionDescriptor:name:)"))); + [Export ("convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name:")] + MPSGraphTensor ConvolutionTranspose2DWeightsGradient (MPSGraphTensor incomingGradientTensor, MPSGraphTensor source, [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradientTensor sourceTensor:(MPSGraphTensor * _Nonnull)source outputShapeTensor:(MPSGraphTensor * _Nonnull)outputShape forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor * _Nonnull)forwardConvolutionDescriptor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("convolutionTranspose2DWeightsGradient(_:weights:outputShapeTensor:forwardConvolutionDescriptor:name:)"))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name:")] + MPSGraphTensor ConvolutionTranspose2DWeightsGradient (MPSGraphTensor incomingGradientTensor, MPSGraphTensor source, MPSGraphTensor outputShape, MPSGraphConvolution2DOpDescriptor forwardConvolutionDescriptor, [NullAllowed] string name); + } + + // @interface MPSGraphControlFlowOps (MPSGraph) + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphControlFlowOps + { + // -(NSArray * _Nonnull)controlDependencyWithOperations:(NSArray * _Nonnull)operations dependentBlock:(MPSGraphControlFlowDependencyBlock _Nonnull)dependentBlock name:(NSString * _Nullable)name; + [Export ("controlDependencyWithOperations:dependentBlock:name:")] + MPSGraphTensor[] ControlDependency (MPSGraphOperation[] operations, MPSGraphControlFlowDependencyBlock dependentBlock, [NullAllowed] string name); + + // -(NSArray * _Nonnull)ifWithPredicateTensor:(MPSGraphTensor * _Nonnull)predicateTensor thenBlock:(MPSGraphIfThenElseBlock _Nonnull)thenBlock elseBlock:(MPSGraphIfThenElseBlock _Nullable)elseBlock name:(NSString * _Nullable)name __attribute__((swift_name("if(_:then:else:name:)"))); + [Export ("ifWithPredicateTensor:thenBlock:elseBlock:name:")] + MPSGraphTensor[] If (MPSGraphTensor predicateTensor, MPSGraphIfThenElseBlock thenBlock, [NullAllowed] MPSGraphIfThenElseBlock elseBlock, [NullAllowed] string name); + + // -(NSArray * _Nonnull)whileWithInitialInputs:(NSArray * _Nonnull)initialInputs before:(MPSGraphWhileBeforeBlock _Nonnull)before after:(MPSGraphWhileAfterBlock _Nonnull)after name:(NSString * _Nullable)name __attribute__((swift_name("while(initialInputs:before:after:name:)"))); + [Export ("whileWithInitialInputs:before:after:name:")] + MPSGraphTensor[] While (MPSGraphTensor[] initialInputs, MPSGraphWhileBeforeBlock before, MPSGraphWhileAfterBlock after, [NullAllowed] string name); + + // -(NSArray * _Nonnull)forLoopWithLowerBound:(MPSGraphTensor * _Nonnull)lowerBound upperBound:(MPSGraphTensor * _Nonnull)upperBound step:(MPSGraphTensor * _Nonnull)step initialBodyArguments:(NSArray * _Nonnull)initialBodyArguments body:(MPSGraphForLoopBodyBlock _Nonnull)body name:(NSString * _Nullable)name __attribute__((swift_name("for(lowerBound:upperBound:step:initialBodyArguments:body:name:)"))); + [Export ("forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name:")] + MPSGraphTensor[] For (MPSGraphTensor lowerBound, MPSGraphTensor upperBound, MPSGraphTensor step, MPSGraphTensor[] initialBodyArguments, MPSGraphForLoopBodyBlock body, [NullAllowed] string name); + + // -(NSArray * _Nonnull)forLoopWithNumberOfIterations:(MPSGraphTensor * _Nonnull)numberOfIterations initialBodyArguments:(NSArray * _Nonnull)initialBodyArguments body:(MPSGraphForLoopBodyBlock _Nonnull)body name:(NSString * _Nullable)name __attribute__((swift_name("for(numberOfIterations:initialBodyArguments:body:name:)"))); + [Export ("forLoopWithNumberOfIterations:initialBodyArguments:body:name:")] + MPSGraphTensor[] For (MPSGraphTensor numberOfIterations, MPSGraphTensor[] initialBodyArguments, MPSGraphForLoopBodyBlock body, [NullAllowed] string name); + } + + // typedef NSArray * _Nonnull (^MPSGraphControlFlowDependencyBlock)(); + delegate MPSGraphTensor[] MPSGraphControlFlowDependencyBlock (); + + // typedef NSArray * _Nonnull (^MPSGraphIfThenElseBlock)(); + delegate MPSGraphTensor[] MPSGraphIfThenElseBlock (); + + // typedef MPSGraphTensor * _Nonnull (^MPSGraphWhileBeforeBlock)(NSArray * _Nonnull, NSMutableArray * _Nonnull); + delegate MPSGraphTensor MPSGraphWhileBeforeBlock (MPSGraphTensor[] inputTensors, NSMutableArray resultTensors); + + // typedef NSArray * _Nonnull (^MPSGraphWhileAfterBlock)(NSArray * _Nonnull); + delegate MPSGraphTensor[] MPSGraphWhileAfterBlock (MPSGraphTensor[] bodyBlockArguments); + + // typedef NSArray * _Nonnull (^MPSGraphForLoopBodyBlock)(MPSGraphTensor * _Nonnull, NSArray * _Nonnull); + delegate MPSGraphTensor[] MPSGraphForLoopBodyBlock (MPSGraphTensor index, MPSGraphTensor[] iterationArguments); + + // @interface MPSGraphDepthwiseConvolution2DOpDescriptor : NSObject + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphDepthwiseConvolution2DOpDescriptor : NSCopying + { + // @property (readwrite, nonatomic) NSUInteger strideInX; + [Export ("strideInX")] + nuint StrideInX { get; set; } + + // @property (readwrite, nonatomic) NSUInteger strideInY; + [Export ("strideInY")] + nuint StrideInY { get; set; } + + // @property (readwrite, nonatomic) NSUInteger dilationRateInX; + [Export ("dilationRateInX")] + nuint DilationRateInX { get; set; } + + // @property (readwrite, nonatomic) NSUInteger dilationRateInY; + [Export ("dilationRateInY")] + nuint DilationRateInY { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingLeft; + [Export ("paddingLeft")] + nuint PaddingLeft { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingRight; + [Export ("paddingRight")] + nuint PaddingRight { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingTop; + [Export ("paddingTop")] + nuint PaddingTop { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingBottom; + [Export ("paddingBottom")] + nuint PaddingBottom { get; set; } + + // @property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle; + [Export ("paddingStyle", ArgumentSemantic.Assign)] + MPSGraphPaddingStyle PaddingStyle { get; set; } + + // @property (readwrite, nonatomic) MPSGraphTensorNamedDataLayout dataLayout; + [Export ("dataLayout", ArgumentSemantic.Assign)] + MPSGraphTensorNamedDataLayout DataLayout { get; set; } + + // @property (readwrite, nonatomic) MPSGraphTensorNamedDataLayout weightsLayout; + [Export ("weightsLayout", ArgumentSemantic.Assign)] + MPSGraphTensorNamedDataLayout WeightsLayout { get; set; } + + // +(instancetype _Nullable)descriptorWithStrideInX:(NSUInteger)strideInX strideInY:(NSUInteger)strideInY dilationRateInX:(NSUInteger)dilationRateInX dilationRateInY:(NSUInteger)dilationRateInY paddingLeft:(NSUInteger)paddingLeft paddingRight:(NSUInteger)paddingRight paddingTop:(NSUInteger)paddingTop paddingBottom:(NSUInteger)paddingBottom paddingStyle:(MPSGraphPaddingStyle)paddingStyle dataLayout:(MPSGraphTensorNamedDataLayout)dataLayout weightsLayout:(MPSGraphTensorNamedDataLayout)weightsLayout; + [Static] + [Export ("descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout:")] + [return: NullAllowed] + MPSGraphDepthwiseConvolution2DOpDescriptor Create (nuint strideInX, nuint strideInY, nuint dilationRateInX, nuint dilationRateInY, nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout); + + // +(instancetype _Nullable)descriptorWithDataLayout:(MPSGraphTensorNamedDataLayout)dataLayout weightsLayout:(MPSGraphTensorNamedDataLayout)weightsLayout; + [Static] + [Export ("descriptorWithDataLayout:weightsLayout:")] + [return: NullAllowed] + MPSGraphDepthwiseConvolution2DOpDescriptor Create (MPSGraphTensorNamedDataLayout dataLayout, MPSGraphTensorNamedDataLayout weightsLayout); + + // -(void)setExplicitPaddingWithPaddingLeft:(NSUInteger)paddingLeft paddingRight:(NSUInteger)paddingRight paddingTop:(NSUInteger)paddingTop paddingBottom:(NSUInteger)paddingBottom; + [Export ("setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom:")] + void SetExplicitPadding (nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom); + } + + // @interface MPSGraphDepthwiseConvolution3DOpDescriptor : NSObject + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphDepthwiseConvolution3DOpDescriptor : NSCopying + { + // @property (readwrite, copy, nonatomic) NSArray * _Nonnull strides; + [BindAs (typeof (int[]))] + [Export ("strides", ArgumentSemantic.Copy)] + NSNumber[] Strides { get; set; } + + // @property (readwrite, copy, nonatomic) NSArray * _Nonnull dilationRates; + [BindAs (typeof (int[]))] + [Export ("dilationRates", ArgumentSemantic.Copy)] + NSNumber[] DilationRates { get; set; } + + // @property (readwrite, copy, nonatomic) NSArray * _Nonnull paddingValues; + [BindAs (typeof (int[]))] + [Export ("paddingValues", ArgumentSemantic.Copy)] + NSNumber[] PaddingValues { get; set; } + + // @property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle; + [Export ("paddingStyle", ArgumentSemantic.Assign)] + MPSGraphPaddingStyle PaddingStyle { get; set; } + + // @property (readwrite, nonatomic) NSInteger channelDimensionIndex; + [Export ("channelDimensionIndex")] + nint ChannelDimensionIndex { get; set; } + + // +(instancetype _Nullable)descriptorWithStrides:(NSArray * _Nonnull)strides dilationRates:(NSArray * _Nonnull)dilationRates paddingValues:(NSArray * _Nonnull)paddingValues paddingStyle:(MPSGraphPaddingStyle)paddingStyle; + [Static] + [Export ("descriptorWithStrides:dilationRates:paddingValues:paddingStyle:")] + [return: NullAllowed] + MPSGraphDepthwiseConvolution3DOpDescriptor Create ([BindAs (typeof (int[]))] NSNumber[] strides, [BindAs (typeof (int[]))] NSNumber[] dilationRates, [BindAs (typeof (int[]))] NSNumber[] paddingValues, MPSGraphPaddingStyle paddingStyle); + + // +(instancetype _Nullable)descriptorWithPaddingStyle:(MPSGraphPaddingStyle)paddingStyle; + [Static] + [Export ("descriptorWithPaddingStyle:")] + [return: NullAllowed] + MPSGraphDepthwiseConvolution3DOpDescriptor Create (MPSGraphPaddingStyle paddingStyle); + } + + // @interface MPSGraphDepthwiseConvolutionOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphDepthwiseConvolutionOps + { + // -(MPSGraphTensor * _Nonnull)depthwiseConvolution2DWithSourceTensor:(MPSGraphTensor * _Nonnull)source weightsTensor:(MPSGraphTensor * _Nonnull)weights descriptor:(MPSGraphDepthwiseConvolution2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("depthwiseConvolution2D(_:weights:descriptor:name:)"))); + [Export ("depthwiseConvolution2DWithSourceTensor:weightsTensor:descriptor:name:")] + MPSGraphTensor DepthwiseConvolution2D (MPSGraphTensor source, MPSGraphTensor weights, MPSGraphDepthwiseConvolution2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)depthwiseConvolution2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradient weightsTensor:(MPSGraphTensor * _Nonnull)weights outputShape:(MPSShape * _Nonnull)outputShape descriptor:(MPSGraphDepthwiseConvolution2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("depthwiseConvolution2DDataGradient(_:weights:outputShape:descriptor:name:)"))); + [Export ("depthwiseConvolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name:")] + MPSGraphTensor DepthwiseConvolution2DDataGradient (MPSGraphTensor incomingGradient, MPSGraphTensor weights, [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphDepthwiseConvolution2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradient sourceTensor:(MPSGraphTensor * _Nonnull)source outputShape:(MPSShape * _Nonnull)outputShape descriptor:(MPSGraphDepthwiseConvolution2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("depthwiseConvolution2DWeightsGradient(_:source:outputShape:descriptor:name:)"))); + [Export ("depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name:")] + MPSGraphTensor DepthwiseConvolution2DWeightsGradient (MPSGraphTensor incomingGradient, MPSGraphTensor source, [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphDepthwiseConvolution2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)depthwiseConvolution3DWithSourceTensor:(MPSGraphTensor * _Nonnull)source weightsTensor:(MPSGraphTensor * _Nonnull)weights descriptor:(MPSGraphDepthwiseConvolution3DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("depthwiseConvolution3D(_:weights:descriptor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("depthwiseConvolution3DWithSourceTensor:weightsTensor:descriptor:name:")] + MPSGraphTensor DepthwiseConvolution3D (MPSGraphTensor source, MPSGraphTensor weights, MPSGraphDepthwiseConvolution3DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)depthwiseConvolution3DDataGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradient weightsTensor:(MPSGraphTensor * _Nonnull)weights outputShape:(MPSShape * _Nullable)outputShape descriptor:(MPSGraphDepthwiseConvolution3DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("depthwiseConvolution3DDataGradient(_:weights:outputShape:descriptor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("depthwiseConvolution3DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name:")] + MPSGraphTensor DepthwiseConvolution3DDataGradient (MPSGraphTensor incomingGradient, MPSGraphTensor weights, [NullAllowed] [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphDepthwiseConvolution3DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradient sourceTensor:(MPSGraphTensor * _Nonnull)source outputShape:(MPSShape * _Nonnull)outputShape descriptor:(MPSGraphDepthwiseConvolution3DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("depthwiseConvolution3DWeightsGradient(_:source:outputShape:descriptor:name:)"))); + [Export ("depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name:")] + MPSGraphTensor DepthwiseConvolution3DWeightsGradient (MPSGraphTensor incomingGradient, MPSGraphTensor source, [BindAs (typeof (int[]))] NSNumber[] outputShape, MPSGraphDepthwiseConvolution3DOpDescriptor descriptor, [NullAllowed] string name); + } + + // @interface GatherNDOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_GatherNDOps + { + // -(MPSGraphTensor * _Nonnull)gatherNDWithUpdatesTensor:(MPSGraphTensor * _Nonnull)updatesTensor indicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor batchDimensions:(NSUInteger)batchDimensions name:(NSString * _Nullable)name; + [Export ("gatherNDWithUpdatesTensor:indicesTensor:batchDimensions:name:")] + MPSGraphTensor GatherND (MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, nuint batchDimensions, [NullAllowed] string name); + } + + // @interface GatherOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_GatherOps + { + // -(MPSGraphTensor * _Nonnull)gatherWithUpdatesTensor:(MPSGraphTensor * _Nonnull)updatesTensor indicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor axis:(NSUInteger)axis batchDimensions:(NSUInteger)batchDimensions name:(NSString * _Nullable)name; + [Export ("gatherWithUpdatesTensor:indicesTensor:axis:batchDimensions:name:")] + MPSGraphTensor Gather (MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, nuint axis, nuint batchDimensions, [NullAllowed] string name); + } + + // @interface MPSGraphLossOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphLossOps + { + // -(MPSGraphTensor * _Nonnull)softMaxCrossEntropyWithSourceTensor:(MPSGraphTensor * _Nonnull)sourceTensor labelsTensor:(MPSGraphTensor * _Nonnull)labelsTensor axis:(NSInteger)axis reductionType:(MPSGraphLossReductionType)reductionType name:(NSString * _Nullable)name __attribute__((swift_name("softMaxCrossEntropy(_:labels:axis:reuctionType:name:)"))); + [Export ("softMaxCrossEntropyWithSourceTensor:labelsTensor:axis:reductionType:name:")] + MPSGraphTensor SoftMaxCrossEntropy (MPSGraphTensor source, MPSGraphTensor labels, nint axis, MPSGraphLossReductionType reductionType, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)softMaxCrossEntropyGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)gradientTensor sourceTensor:(MPSGraphTensor * _Nonnull)sourceTensor labelsTensor:(MPSGraphTensor * _Nonnull)labelsTensor axis:(NSInteger)axis reductionType:(MPSGraphLossReductionType)reductionType name:(NSString * _Nullable)name __attribute__((swift_name("softMaxCrossEntropyGradient(_:source:labels:axis:reuctionType:name:)"))); + [Export ("softMaxCrossEntropyGradientWithIncomingGradientTensor:sourceTensor:labelsTensor:axis:reductionType:name:")] + MPSGraphTensor SoftMaxCrossEntropyGradient (MPSGraphTensor gradientTensor, MPSGraphTensor sourceTensor, MPSGraphTensor labelsTensor, nint axis, MPSGraphLossReductionType reductionType, [NullAllowed] string name); + } + + // @interface MPSGraphMatrixMultiplicationOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphMatrixMultiplicationOps + { + // -(MPSGraphTensor * _Nonnull)matrixMultiplicationWithPrimaryTensor:(MPSGraphTensor * _Nonnull)primaryTensor secondaryTensor:(MPSGraphTensor * _Nonnull)secondaryTensor name:(NSString * _Nullable)name __attribute__((swift_name("matrixMultiplication(primary:secondary:name:)"))); + [Export ("matrixMultiplicationWithPrimaryTensor:secondaryTensor:name:")] + MPSGraphTensor MatrixMultiplication (MPSGraphTensor primaryTensor, MPSGraphTensor secondaryTensor, [NullAllowed] string name); + } + + // @interface MPSGraphCreateSparseOpDescriptor : NSObject + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphCreateSparseOpDescriptor : NSCopying + { + // @property (readwrite, nonatomic) MPSGraphSparseStorageType sparseStorageType; + [Export ("sparseStorageType", ArgumentSemantic.Assign)] + MPSGraphSparseStorageType SparseStorageType { get; set; } + + // @property (readwrite, nonatomic) MPSDataType dataType; + [Export ("dataType", ArgumentSemantic.Assign)] + MPSDataType DataType { get; set; } + + // +(instancetype _Nullable)descriptorWithStorageType:(MPSGraphSparseStorageType)sparseStorageType dataType:(MPSDataType)dataType __attribute__((swift_name("sparseDescriptor(descriptorWithStorageType:dataType:)"))); + [Static] + [Export ("descriptorWithStorageType:dataType:")] + [return: NullAllowed] + MPSGraphCreateSparseOpDescriptor Create (MPSGraphSparseStorageType sparseStorageType, MPSDataType dataType); + } + + // @interface MPSGraphSparseOps (MPSGraph) + [Category] + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphSparseOps + { + // -(MPSGraphTensor * _Nonnull)sparseTensorWithType:(MPSGraphSparseStorageType)sparseStorageType tensors:(NSArray * _Nonnull)inputTensorArray shape:(MPSShape * _Nonnull)shape dataType:(MPSDataType)dataType name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("sparseTensor(sparseTensorWithType:tensors:shape:dataType:name:)"))); + [Export ("sparseTensorWithType:tensors:shape:dataType:name:")] + MPSGraphTensor Sparse (MPSGraphSparseStorageType sparseStorageType, MPSGraphTensor[] inputTensorArray, [BindAs (typeof (int[]))] NSNumber[] shape, MPSDataType dataType, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sparseTensorWithDescriptor:(MPSGraphCreateSparseOpDescriptor * _Nonnull)sparseDescriptor tensors:(NSArray * _Nonnull)inputTensorArray shape:(MPSShape * _Nonnull)shape name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("sparseTensor(sparseTensorWithDescriptor:tensors:shape:name:)"))); + [Export ("sparseTensorWithDescriptor:tensors:shape:name:")] + MPSGraphTensor Sparse (MPSGraphCreateSparseOpDescriptor sparseDescriptor, MPSGraphTensor[] inputTensorArray, [BindAs (typeof (int[]))] NSNumber[] shape, [NullAllowed] string name); + } + + // @interface MPSGraphVariableOp : MPSGraphOperation + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(MPSGraphOperation))] + [DisableDefaultCtor] + interface MPSGraphVariableOp + { + // @property (readonly, nonatomic) MPSShape * _Nonnull shape; + [BindAs (typeof (int[]))] + [Export ("shape")] + NSNumber[] Shape { get; } + + // @property (readonly, nonatomic) MPSDataType dataType; + [Export ("dataType")] + MPSDataType DataType { get; } + } + + // @interface MemoryOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MemoryOps + { + // -(MPSGraphTensor * _Nonnull)placeholderWithShape:(MPSShape * _Nullable)shape dataType:(MPSDataType)dataType name:(NSString * _Nullable)name __attribute__((swift_name("placeholder(shape:dataType:name:)"))); + [Export ("placeholderWithShape:dataType:name:")] + MPSGraphTensor Placeholder ([NullAllowed] [BindAs (typeof (int[]))] NSNumber[] shape, MPSDataType dataType, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)placeholderWithShape:(MPSShape * _Nullable)shape name:(NSString * _Nullable)name __attribute__((swift_name("placeholder(shape:name:)"))); + [Export ("placeholderWithShape:name:")] + MPSGraphTensor Placeholder ([NullAllowed] [BindAs (typeof (int[]))] NSNumber[] shape, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)constantWithData:(NSData * _Nonnull)data shape:(MPSShape * _Nonnull)shape dataType:(MPSDataType)dataType __attribute__((swift_name("constant(_:shape:dataType:)"))); + [Export ("constantWithData:shape:dataType:")] + MPSGraphTensor Constant (NSData data, [BindAs (typeof (int[]))] NSNumber[] shape, MPSDataType dataType); + + // -(MPSGraphTensor * _Nonnull)constantWithScalar:(double)scalar dataType:(MPSDataType)dataType __attribute__((swift_name("constant(_:dataType:)"))); + [Export ("constantWithScalar:dataType:")] + MPSGraphTensor Constant (double scalar, MPSDataType dataType); + + // -(MPSGraphTensor * _Nonnull)constantWithScalar:(double)scalar shape:(MPSShape * _Nonnull)shape dataType:(MPSDataType)dataType __attribute__((swift_name("constant(_:shape:dataType:)"))); + [Export ("constantWithScalar:shape:dataType:")] + MPSGraphTensor Constant (double scalar, [BindAs (typeof (int[]))] NSNumber[] shape, MPSDataType dataType); + + // -(MPSGraphTensor * _Nonnull)variableWithData:(NSData * _Nonnull)data shape:(MPSShape * _Nonnull)shape dataType:(MPSDataType)dataType name:(NSString * _Nullable)name; + [Export ("variableWithData:shape:dataType:name:")] + MPSGraphTensor Variable (NSData data, [BindAs (typeof (int[]))] NSNumber[] shape, MPSDataType dataType, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)readVariable:(MPSGraphTensor * _Nonnull)variable name:(NSString * _Nullable)name __attribute__((swift_name("read(_:name:)"))); + [Export ("readVariable:name:")] + MPSGraphTensor Read (MPSGraphTensor variable, [NullAllowed] string name); + + // -(MPSGraphOperation * _Nonnull)assignVariable:(MPSGraphTensor * _Nonnull)variable withValueOfTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name __attribute__((swift_name("assign(_:tensor:name:)"))); + [Export ("assignVariable:withValueOfTensor:name:")] + MPSGraphOperation Assign (MPSGraphTensor variable, MPSGraphTensor tensor, [NullAllowed] string name); + } + + // @interface MPSGraphNormalizationOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphNormalizationOps + { + // -(MPSGraphTensor * _Nonnull)meanOfTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nonnull)axes name:(NSString * _Nullable)name; + [Export ("meanOfTensor:axes:name:")] + MPSGraphTensor Mean (MPSGraphTensor tensor, [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)varianceOfTensor:(MPSGraphTensor * _Nonnull)tensor meanTensor:(MPSGraphTensor * _Nonnull)meanTensor axes:(NSArray * _Nonnull)axes name:(NSString * _Nullable)name; + [Export ("varianceOfTensor:meanTensor:axes:name:")] + MPSGraphTensor Variance (MPSGraphTensor tensor, MPSGraphTensor meanTensor, [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)varianceOfTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nonnull)axes name:(NSString * _Nullable)name; + [Export ("varianceOfTensor:axes:name:")] + MPSGraphTensor Variance (MPSGraphTensor tensor, [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)normalizationWithTensor:(MPSGraphTensor * _Nonnull)tensor meanTensor:(MPSGraphTensor * _Nonnull)mean varianceTensor:(MPSGraphTensor * _Nonnull)variance gammaTensor:(MPSGraphTensor * _Nullable)gamma betaTensor:(MPSGraphTensor * _Nullable)beta epsilon:(float)epsilon name:(NSString * _Nullable)name __attribute__((swift_name("normalize(_:mean:variance:gamma:beta:epsilon:name:)"))); + [Export ("normalizationWithTensor:meanTensor:varianceTensor:gammaTensor:betaTensor:epsilon:name:")] + MPSGraphTensor Normalization (MPSGraphTensor tensor, MPSGraphTensor mean, MPSGraphTensor variance, [NullAllowed] MPSGraphTensor gamma, [NullAllowed] MPSGraphTensor beta, float epsilon, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)normalizationGammaGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradientTensor sourceTensor:(MPSGraphTensor * _Nonnull)sourceTensor meanTensor:(MPSGraphTensor * _Nonnull)meanTensor varianceTensor:(MPSGraphTensor * _Nonnull)varianceTensor reductionAxes:(NSArray * _Nonnull)axes epsilon:(float)epsilon name:(NSString * _Nullable)name; + [Export ("normalizationGammaGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:reductionAxes:epsilon:name:")] + MPSGraphTensor NormalizationGammaGradient (MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, MPSGraphTensor meanTensor, MPSGraphTensor varianceTensor, [BindAs (typeof (int[]))] NSNumber[] axes, float epsilon, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)normalizationBetaGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradientTensor sourceTensor:(MPSGraphTensor * _Nonnull)sourceTensor reductionAxes:(NSArray * _Nonnull)axes name:(NSString * _Nullable)name; + [Export ("normalizationBetaGradientWithIncomingGradientTensor:sourceTensor:reductionAxes:name:")] + MPSGraphTensor NormalizationBetaGradient (MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)normalizationGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradientTensor sourceTensor:(MPSGraphTensor * _Nonnull)sourceTensor meanTensor:(MPSGraphTensor * _Nonnull)meanTensor varianceTensor:(MPSGraphTensor * _Nonnull)varianceTensor gammaTensor:(MPSGraphTensor * _Nullable)gamma gammaGradientTensor:(MPSGraphTensor * _Nullable)gammaGradient betaGradientTensor:(MPSGraphTensor * _Nullable)betaGradient reductionAxes:(NSArray * _Nonnull)axes epsilon:(float)epsilon name:(NSString * _Nullable)name; + [Export ("normalizationGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:gammaTensor:gammaGradientTensor:betaGradientTensor:reductionAxes:epsilon:name:")] + MPSGraphTensor NormalizationGradient (MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, MPSGraphTensor meanTensor, MPSGraphTensor varianceTensor, [NullAllowed] MPSGraphTensor gamma, [NullAllowed] MPSGraphTensor gammaGradient, [NullAllowed] MPSGraphTensor betaGradient, [BindAs (typeof (int[]))] NSNumber[] axes, float epsilon, [NullAllowed] string name); + } + + // @interface MPSGraphOneHotOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphOneHotOps + { + // -(MPSGraphTensor * _Nonnull)oneHotWithIndicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor depth:(NSUInteger)depth axis:(NSUInteger)axis dataType:(MPSDataType)dataType onValue:(double)onValue offValue:(double)offValue name:(NSString * _Nullable)name; + [Export ("oneHotWithIndicesTensor:depth:axis:dataType:onValue:offValue:name:")] + MPSGraphTensor OneHot (MPSGraphTensor indicesTensor, nuint depth, nuint axis, MPSDataType dataType, double onValue, double offValue, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)oneHotWithIndicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor depth:(NSUInteger)depth dataType:(MPSDataType)dataType onValue:(double)onValue offValue:(double)offValue name:(NSString * _Nullable)name; + [Export ("oneHotWithIndicesTensor:depth:dataType:onValue:offValue:name:")] + MPSGraphTensor OneHot (MPSGraphTensor indicesTensor, nuint depth, MPSDataType dataType, double onValue, double offValue, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)oneHotWithIndicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor depth:(NSUInteger)depth axis:(NSUInteger)axis dataType:(MPSDataType)dataType name:(NSString * _Nullable)name; + [Export ("oneHotWithIndicesTensor:depth:axis:dataType:name:")] + MPSGraphTensor OneHot (MPSGraphTensor indicesTensor, nuint depth, nuint axis, MPSDataType dataType, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)oneHotWithIndicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor depth:(NSUInteger)depth axis:(NSUInteger)axis name:(NSString * _Nullable)name; + [Export ("oneHotWithIndicesTensor:depth:axis:name:")] + MPSGraphTensor OneHot (MPSGraphTensor indicesTensor, nuint depth, nuint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)oneHotWithIndicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor depth:(NSUInteger)depth dataType:(MPSDataType)dataType name:(NSString * _Nullable)name; + [Export ("oneHotWithIndicesTensor:depth:dataType:name:")] + MPSGraphTensor OneHot (MPSGraphTensor indicesTensor, nuint depth, MPSDataType dataType, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)oneHotWithIndicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor depth:(NSUInteger)depth name:(NSString * _Nullable)name; + [Export ("oneHotWithIndicesTensor:depth:name:")] + MPSGraphTensor OneHot (MPSGraphTensor indicesTensor, nuint depth, [NullAllowed] string name); + } + + // @interface MPSGraphOptimizerOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphOptimizerOps + { + // -(MPSGraphTensor * _Nonnull)stochasticGradientDescentWithLearningRateTensor:(MPSGraphTensor * _Nonnull)learningRateTensor valuesTensor:(MPSGraphTensor * _Nonnull)valuesTensor gradientTensor:(MPSGraphTensor * _Nonnull)gradientTensor name:(NSString * _Nullable)name __attribute__((swift_name("stochasticGradientDescent(learningRate:values:gradient:name:)"))); + [Export ("stochasticGradientDescentWithLearningRateTensor:valuesTensor:gradientTensor:name:")] + MPSGraphTensor StochasticGradientDescent (MPSGraphTensor learningRate, MPSGraphTensor values, MPSGraphTensor gradient, [NullAllowed] string name); + + // -(MPSGraphOperation * _Nonnull)applyStochasticGradientDescentWithLearningRateTensor:(MPSGraphTensor * _Nonnull)learningRateTensor variable:(MPSGraphVariableOp * _Nonnull)variable gradientTensor:(MPSGraphTensor * _Nonnull)gradientTensor name:(NSString * _Nullable)name __attribute__((swift_name("applyStochasticGradientDescent(learningRate:variable:gradient:name:)"))); + [Export ("applyStochasticGradientDescentWithLearningRateTensor:variable:gradientTensor:name:")] + MPSGraphOperation ApplyStochasticGradientDescent (MPSGraphTensor learningRate, MPSGraphVariableOp variable, MPSGraphTensor gradient, [NullAllowed] string name); + } + + // @interface MPSGraphPooling2DOpDescriptor : NSObject + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphPooling2DOpDescriptor : NSCopying + { + // @property (readwrite, nonatomic) NSUInteger kernelWidth; + [Export ("kernelWidth")] + nuint KernelWidth { get; set; } + + // @property (readwrite, nonatomic) NSUInteger kernelHeight; + [Export ("kernelHeight")] + nuint KernelHeight { get; set; } + + // @property (readwrite, nonatomic) NSUInteger strideInX; + [Export ("strideInX")] + nuint StrideInX { get; set; } + + // @property (readwrite, nonatomic) NSUInteger strideInY; + [Export ("strideInY")] + nuint StrideInY { get; set; } + + // @property (readwrite, nonatomic) NSUInteger dilationRateInX; + [Export ("dilationRateInX")] + nuint DilationRateInX { get; set; } + + // @property (readwrite, nonatomic) NSUInteger dilationRateInY; + [Export ("dilationRateInY")] + nuint DilationRateInY { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingLeft; + [Export ("paddingLeft")] + nuint PaddingLeft { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingRight; + [Export ("paddingRight")] + nuint PaddingRight { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingTop; + [Export ("paddingTop")] + nuint PaddingTop { get; set; } + + // @property (readwrite, nonatomic) NSUInteger paddingBottom; + [Export ("paddingBottom")] + nuint PaddingBottom { get; set; } + + // @property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle; + [Export ("paddingStyle", ArgumentSemantic.Assign)] + MPSGraphPaddingStyle PaddingStyle { get; set; } + + // @property (readwrite, nonatomic) MPSGraphTensorNamedDataLayout dataLayout; + [Export ("dataLayout", ArgumentSemantic.Assign)] + MPSGraphTensorNamedDataLayout DataLayout { get; set; } + + // @property (readwrite, nonatomic) BOOL ceilMode __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15, 0), Mac (12, 0), iOS (15, 0)] + [Export ("ceilMode")] + bool CeilMode { get; set; } + + // @property (readwrite, nonatomic) BOOL includeZeroPadToAverage __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15, 0), Mac (12, 0), iOS (15, 0)] + [Export ("includeZeroPadToAverage")] + bool IncludeZeroPadToAverage { get; set; } + + // +(instancetype _Nullable)descriptorWithKernelWidth:(NSUInteger)kernelWidth kernelHeight:(NSUInteger)kernelHeight strideInX:(NSUInteger)strideInX strideInY:(NSUInteger)strideInY dilationRateInX:(NSUInteger)dilationRateInX dilationRateInY:(NSUInteger)dilationRateInY paddingLeft:(NSUInteger)paddingLeft paddingRight:(NSUInteger)paddingRight paddingTop:(NSUInteger)paddingTop paddingBottom:(NSUInteger)paddingBottom paddingStyle:(MPSGraphPaddingStyle)paddingStyle dataLayout:(MPSGraphTensorNamedDataLayout)dataLayout; + [Static] + [Export ("descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:")] + [return: NullAllowed] + 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); + + // +(instancetype _Nullable)descriptorWithKernelWidth:(NSUInteger)kernelWidth kernelHeight:(NSUInteger)kernelHeight strideInX:(NSUInteger)strideInX strideInY:(NSUInteger)strideInY paddingStyle:(MPSGraphPaddingStyle)paddingStyle dataLayout:(MPSGraphTensorNamedDataLayout)dataLayout; + [Static] + [Export ("descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:paddingStyle:dataLayout:")] + [return: NullAllowed] + MPSGraphPooling2DOpDescriptor Create (nuint kernelWidth, nuint kernelHeight, nuint strideInX, nuint strideInY, MPSGraphPaddingStyle paddingStyle, MPSGraphTensorNamedDataLayout dataLayout); + + // -(void)setExplicitPaddingWithPaddingLeft:(NSUInteger)paddingLeft paddingRight:(NSUInteger)paddingRight paddingTop:(NSUInteger)paddingTop paddingBottom:(NSUInteger)paddingBottom; + [Export ("setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom:")] + void SetExplicitPadding (nuint paddingLeft, nuint paddingRight, nuint paddingTop, nuint paddingBottom); + } + + // @interface MPSGraphPooling4DOpDescriptor : NSObject + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphPooling4DOpDescriptor : NSCopying + { + // @property (readwrite, copy, nonatomic) NSArray * _Nonnull kernelSizes; + [BindAs (typeof (int[]))] + [Export ("kernelSizes", ArgumentSemantic.Copy)] + NSNumber[] KernelSizes { get; set; } + + // @property (readwrite, copy, nonatomic) NSArray * _Nonnull strides; + [BindAs (typeof (int[]))] + [Export ("strides", ArgumentSemantic.Copy)] + NSNumber[] Strides { get; set; } + + // @property (readwrite, copy, nonatomic) NSArray * _Nonnull dilationRates; + [BindAs (typeof (int[]))] + [Export ("dilationRates", ArgumentSemantic.Copy)] + NSNumber[] DilationRates { get; set; } + + // @property (readwrite, copy, nonatomic) NSArray * _Nonnull paddingValues; + [BindAs (typeof (int[]))] + [Export ("paddingValues", ArgumentSemantic.Copy)] + NSNumber[] PaddingValues { get; set; } + + // @property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle; + [Export ("paddingStyle", ArgumentSemantic.Assign)] + MPSGraphPaddingStyle PaddingStyle { get; set; } + + // @property (readwrite, nonatomic) BOOL ceilMode; + [Export ("ceilMode")] + bool CeilMode { get; set; } + + // @property (readwrite, nonatomic) BOOL includeZeroPadToAverage; + [Export ("includeZeroPadToAverage")] + bool IncludeZeroPadToAverage { get; set; } + + // +(instancetype _Nullable)descriptorWithKernelSizes:(NSArray * _Nonnull)kernelSizes strides:(NSArray * _Nonnull)strides dilationRates:(NSArray * _Nonnull)dilationRates paddingValues:(NSArray * _Nonnull)paddingValues paddingStyle:(MPSGraphPaddingStyle)paddingStyle; + [Static] + [Export ("descriptorWithKernelSizes:strides:dilationRates:paddingValues:paddingStyle:")] + [return: NullAllowed] + MPSGraphPooling4DOpDescriptor Create ([BindAs (typeof (int[]))] NSNumber[] kernelSizes, [BindAs (typeof (int[]))] NSNumber[] strides, [BindAs (typeof (int[]))] NSNumber[] dilationRates, [BindAs (typeof (int[]))] NSNumber[] paddingValues, MPSGraphPaddingStyle paddingStyle); + + // +(instancetype _Nullable)descriptorWithKernelSizes:(NSArray * _Nonnull)kernelSizes paddingStyle:(MPSGraphPaddingStyle)paddingStyle; + [Static] + [Export ("descriptorWithKernelSizes:paddingStyle:")] + [return: NullAllowed] + MPSGraphPooling4DOpDescriptor Create ([BindAs (typeof (int[]))] NSNumber[] kernelSizes, MPSGraphPaddingStyle paddingStyle); + } + + // @interface MPSGraphPoolingOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphPoolingOps + { + // -(MPSGraphTensor * _Nonnull)maxPooling2DWithSourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name; + [Export ("maxPooling2DWithSourceTensor:descriptor:name:")] + MPSGraphTensor MaxPooling2D (MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)maxPooling2DGradientWithGradientTensor:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name; + [Export ("maxPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name:")] + MPSGraphTensor MaxPooling2DGradient (MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)avgPooling2DWithSourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name; + [Export ("avgPooling2DWithSourceTensor:descriptor:name:")] + MPSGraphTensor AvgPooling2D (MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)avgPooling2DGradientWithGradientTensor:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling2DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name; + [Export ("avgPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name:")] + MPSGraphTensor AvgPooling2DGradient (MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling2DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)maxPooling4DWithSourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling4DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("maxPooling4D(_:descriptor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("maxPooling4DWithSourceTensor:descriptor:name:")] + MPSGraphTensor MaxPooling4D (MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)maxPooling4DGradientWithGradientTensor:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling4DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("maxPooling4DGradient(_:source:descriptor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("maxPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name:")] + MPSGraphTensor MaxPooling4DGradient (MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)avgPooling4DWithSourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling4DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("avgPooling4D(_:descriptor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("avgPooling4DWithSourceTensor:descriptor:name:")] + MPSGraphTensor AvgPooling4D (MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)avgPooling4DGradientWithGradientTensor:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling4DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("avgPooling4DGradient(_:source:descriptor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("avgPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name:")] + MPSGraphTensor AvgPooling4DGradient (MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)L2NormPooling4DWithSourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling4DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("L2NormPooling4D(_:descriptor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("L2NormPooling4DWithSourceTensor:descriptor:name:")] + MPSGraphTensor L2NormPooling4D (MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)L2NormPooling4DGradientWithGradientTensor:(MPSGraphTensor * _Nonnull)gradient sourceTensor:(MPSGraphTensor * _Nonnull)source descriptor:(MPSGraphPooling4DOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name __attribute__((swift_name("L2NormPooling4DGradient(_:source:descriptor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("L2NormPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name:")] + MPSGraphTensor L2NormPooling4DGradient (MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphPooling4DOpDescriptor descriptor, [NullAllowed] string name); + } + + // @interface MPSGraphRandomOpDescriptor : NSObject + [TV (15,2), Mac (12,1), iOS (15,2), MacCatalyst (15,2)] + [BaseType (typeof(NSObject))] + interface MPSGraphRandomOpDescriptor : NSCopying + { + // @property (readwrite, nonatomic) MPSGraphRandomDistribution distribution; + [Export ("distribution", ArgumentSemantic.Assign)] + MPSGraphRandomDistribution Distribution { get; set; } + + // @property (readwrite, nonatomic) MPSDataType dataType; + [Export ("dataType", ArgumentSemantic.Assign)] + MPSDataType DataType { get; set; } + + // @property (readwrite, nonatomic) float min; + [Export ("min")] + float Min { get; set; } + + // @property (readwrite, nonatomic) float max; + [Export ("max")] + float Max { get; set; } + + // @property (readwrite, nonatomic) NSInteger minInteger; + [Export ("minInteger")] + nint MinInteger { get; set; } + + // @property (readwrite, nonatomic) NSInteger maxInteger; + [Export ("maxInteger")] + nint MaxInteger { get; set; } + + // @property (readwrite, nonatomic) float mean; + [Export ("mean")] + float Mean { get; set; } + + // @property (readwrite, nonatomic) float standardDeviation; + [Export ("standardDeviation")] + float StandardDeviation { get; set; } + + // @property (readwrite, nonatomic) MPSGraphRandomNormalSamplingMethod samplingMethod; + [Export ("samplingMethod", ArgumentSemantic.Assign)] + MPSGraphRandomNormalSamplingMethod SamplingMethod { get; set; } + + // +(instancetype _Nullable)descriptorWithDistribution:(MPSGraphRandomDistribution)distribution dataType:(MPSDataType)dataType; + [Static] + [Export ("descriptorWithDistribution:dataType:")] + [return: NullAllowed] + MPSGraphRandomOpDescriptor Create (MPSGraphRandomDistribution distribution, MPSDataType dataType); + } + + // @interface MPSGraphRandomOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphRandomOps + { + // -(MPSGraphTensor * _Nonnull)randomPhiloxStateTensorWithSeed:(NSUInteger)seed name:(NSString * _Nullable)name; + [Export ("randomPhiloxStateTensorWithSeed:name:")] + MPSGraphTensor RandomPhiloxState (nuint seed, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomPhiloxStateTensorWithCounterLow:(NSUInteger)counterLow counterHigh:(NSUInteger)counterHigh key:(NSUInteger)key name:(NSString * _Nullable)name; + [Export ("randomPhiloxStateTensorWithCounterLow:counterHigh:key:name:")] + MPSGraphTensor RandomPhiloxState (nuint counterLow, nuint counterHigh, nuint key, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomTensorWithShape:(MPSShape * _Nonnull)shape descriptor:(MPSGraphRandomOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name; + [Export ("randomTensorWithShape:descriptor:name:")] + MPSGraphTensor Random ([BindAs (typeof (int[]))] NSNumber[] shape, MPSGraphRandomOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomTensorWithShapeTensor:(MPSGraphTensor * _Nonnull)shapeTensor descriptor:(MPSGraphRandomOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name; + [Export ("randomTensorWithShapeTensor:descriptor:name:")] + MPSGraphTensor Random (MPSGraphTensor shapeTensor, MPSGraphRandomOpDescriptor descriptor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomTensorWithShape:(MPSShape * _Nonnull)shape descriptor:(MPSGraphRandomOpDescriptor * _Nonnull)descriptor seed:(NSUInteger)seed name:(NSString * _Nullable)name; + [Export ("randomTensorWithShape:descriptor:seed:name:")] + MPSGraphTensor Random ([BindAs (typeof (int[]))] NSNumber[] shape, MPSGraphRandomOpDescriptor descriptor, nuint seed, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomTensorWithShapeTensor:(MPSGraphTensor * _Nonnull)shapeTensor descriptor:(MPSGraphRandomOpDescriptor * _Nonnull)descriptor seed:(NSUInteger)seed name:(NSString * _Nullable)name; + [Export ("randomTensorWithShapeTensor:descriptor:seed:name:")] + MPSGraphTensor Random (MPSGraphTensor shapeTensor, MPSGraphRandomOpDescriptor descriptor, nuint seed, [NullAllowed] string name); + + // -(NSArray * _Nonnull)randomTensorWithShape:(MPSShape * _Nonnull)shape descriptor:(MPSGraphRandomOpDescriptor * _Nonnull)descriptor stateTensor:(MPSGraphTensor * _Nonnull)state name:(NSString * _Nullable)name; + [Export ("randomTensorWithShape:descriptor:stateTensor:name:")] + MPSGraphTensor[] Random ([BindAs (typeof (int[]))] NSNumber[] shape, MPSGraphRandomOpDescriptor descriptor, MPSGraphTensor state, [NullAllowed] string name); + + // -(NSArray * _Nonnull)randomTensorWithShapeTensor:(MPSGraphTensor * _Nonnull)shapeTensor descriptor:(MPSGraphRandomOpDescriptor * _Nonnull)descriptor stateTensor:(MPSGraphTensor * _Nonnull)state name:(NSString * _Nullable)name; + [Export ("randomTensorWithShapeTensor:descriptor:stateTensor:name:")] + MPSGraphTensor[] Random (MPSGraphTensor shapeTensor, MPSGraphRandomOpDescriptor descriptor, MPSGraphTensor state, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomUniformTensorWithShape:(MPSShape * _Nonnull)shape name:(NSString * _Nullable)name; + [Export ("randomUniformTensorWithShape:name:")] + MPSGraphTensor RandomUniform ([BindAs (typeof (int[]))] NSNumber[] shape, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomUniformTensorWithShapeTensor:(MPSGraphTensor * _Nonnull)shapeTensor name:(NSString * _Nullable)name; + [Export ("randomUniformTensorWithShapeTensor:name:")] + MPSGraphTensor RandomUniform (MPSGraphTensor shapeTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomUniformTensorWithShape:(MPSShape * _Nonnull)shape seed:(NSUInteger)seed name:(NSString * _Nullable)name; + [Export ("randomUniformTensorWithShape:seed:name:")] + MPSGraphTensor RandomUniform ([BindAs (typeof (int[]))] NSNumber[] shape, nuint seed, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)randomUniformTensorWithShapeTensor:(MPSGraphTensor * _Nonnull)shapeTensor seed:(NSUInteger)seed name:(NSString * _Nullable)name; + [Export ("randomUniformTensorWithShapeTensor:seed:name:")] + MPSGraphTensor RandomUniform (MPSGraphTensor shapeTensor, nuint seed, [NullAllowed] string name); + + // -(NSArray * _Nonnull)randomUniformTensorWithShape:(MPSShape * _Nonnull)shape stateTensor:(MPSGraphTensor * _Nonnull)state name:(NSString * _Nullable)name; + [Export ("randomUniformTensorWithShape:stateTensor:name:")] + MPSGraphTensor[] RandomUniform ([BindAs (typeof (int[]))] NSNumber[] shape, MPSGraphTensor state, [NullAllowed] string name); + + // -(NSArray * _Nonnull)randomUniformTensorWithShapeTensor:(MPSGraphTensor * _Nonnull)shapeTensor stateTensor:(MPSGraphTensor * _Nonnull)state name:(NSString * _Nullable)name; + [Export ("randomUniformTensorWithShapeTensor:stateTensor:name:")] + MPSGraphTensor[] RandomUniform (MPSGraphTensor shapeTensor, MPSGraphTensor state, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)dropoutTensor:(MPSGraphTensor * _Nonnull)tensor rate:(double)rate name:(NSString * _Nullable)name __attribute__((swift_name("dropout(_:rate:name:)"))); + [Export ("dropoutTensor:rate:name:")] + MPSGraphTensor Dropout (MPSGraphTensor tensor, double rate, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)dropoutTensor:(MPSGraphTensor * _Nonnull)tensor rateTensor:(MPSGraphTensor * _Nonnull)rate name:(NSString * _Nullable)name __attribute__((swift_name("dropout(_:rate:name:)"))); + [Export ("dropoutTensor:rateTensor:name:")] + MPSGraphTensor Dropout (MPSGraphTensor tensor, MPSGraphTensor rate, [NullAllowed] string name); + } + + // @interface MPSGraphReductionOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphReductionOps + { + // -(MPSGraphTensor * _Nonnull)reductionSumWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name; + [Export ("reductionSumWithTensor:axis:name:")] + MPSGraphTensor ReductionSum (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionSumWithTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nullable)axes name:(NSString * _Nullable)name; + [Export ("reductionSumWithTensor:axes:name:")] + MPSGraphTensor ReductionSum (MPSGraphTensor tensor, [NullAllowed] [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionMaximumWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name; + [Export ("reductionMaximumWithTensor:axis:name:")] + MPSGraphTensor ReductionMaximum (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionMaximumWithTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nullable)axes name:(NSString * _Nullable)name; + [Export ("reductionMaximumWithTensor:axes:name:")] + MPSGraphTensor ReductionMaximum (MPSGraphTensor tensor, [NullAllowed] [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionMinimumWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name; + [Export ("reductionMinimumWithTensor:axis:name:")] + MPSGraphTensor ReductionMinimum (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionMinimumWithTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nullable)axes name:(NSString * _Nullable)name; + [Export ("reductionMinimumWithTensor:axes:name:")] + MPSGraphTensor ReductionMinimum (MPSGraphTensor tensor, [NullAllowed] [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionMaximumPropagateNaNWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name; + [Export ("reductionMaximumPropagateNaNWithTensor:axis:name:")] + MPSGraphTensor ReductionMaximumPropagateNaN (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionMaximumPropagateNaNWithTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nullable)axes name:(NSString * _Nullable)name; + [Export ("reductionMaximumPropagateNaNWithTensor:axes:name:")] + MPSGraphTensor ReductionMaximumPropagateNaN (MPSGraphTensor tensor, [NullAllowed] [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionMinimumPropagateNaNWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name; + [Export ("reductionMinimumPropagateNaNWithTensor:axis:name:")] + MPSGraphTensor ReductionMinimumPropagateNaN (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionMinimumPropagateNaNWithTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nullable)axes name:(NSString * _Nullable)name; + [Export ("reductionMinimumPropagateNaNWithTensor:axes:name:")] + MPSGraphTensor ReductionMinimumPropagateNaN (MPSGraphTensor tensor, [NullAllowed] [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionProductWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name; + [Export ("reductionProductWithTensor:axis:name:")] + MPSGraphTensor ReductionProduct (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionProductWithTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nullable)axes name:(NSString * _Nullable)name; + [Export ("reductionProductWithTensor:axes:name:")] + MPSGraphTensor ReductionProduct (MPSGraphTensor tensor, [NullAllowed] [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionArgMaximumWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(macCatalyst, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), MacCatalyst (15,0), Mac (12,0), iOS (15,0)] + [Export ("reductionArgMaximumWithTensor:axis:name:")] + MPSGraphTensor ReductionArgMaximum (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reductionArgMinimumWithTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(macCatalyst, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), MacCatalyst (15,0), Mac (12,0), iOS (15,0)] + [Export ("reductionArgMinimumWithTensor:axis:name:")] + MPSGraphTensor ReductionArgMinimum (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + } + + // @interface MPSGraphResizeOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphResizeOps + { + // -(MPSGraphTensor * _Nonnull)resizeTensor:(MPSGraphTensor * _Nonnull)imagesTensor size:(MPSShape * _Nonnull)size mode:(MPSGraphResizeMode)mode centerResult:(BOOL)centerResult alignCorners:(BOOL)alignCorners layout:(MPSGraphTensorNamedDataLayout)layout name:(NSString * _Nullable)name __attribute__((swift_name("resize(_:size:mode:centerResult:alignCorners:layout:name:)"))); + [Export ("resizeTensor:size:mode:centerResult:alignCorners:layout:name:")] + MPSGraphTensor Resize (MPSGraphTensor imagesTensor, [BindAs (typeof (int[]))] NSNumber[] size, MPSGraphResizeMode mode, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)resizeTensor:(MPSGraphTensor * _Nonnull)imagesTensor sizeTensor:(MPSGraphTensor * _Nonnull)size mode:(MPSGraphResizeMode)mode centerResult:(BOOL)centerResult alignCorners:(BOOL)alignCorners layout:(MPSGraphTensorNamedDataLayout)layout name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("resize(_:sizeTensor:mode:centerResult:alignCorners:layout:name:)"))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name:")] + MPSGraphTensor Resize (MPSGraphTensor imagesTensor, MPSGraphTensor size, MPSGraphResizeMode mode, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)resizeWithGradientTensor:(MPSGraphTensor * _Nonnull)gradient input:(MPSGraphTensor * _Nonnull)input mode:(MPSGraphResizeMode)mode centerResult:(BOOL)centerResult alignCorners:(BOOL)alignCorners layout:(MPSGraphTensorNamedDataLayout)layout name:(NSString * _Nullable)name; + [Export ("resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name:")] + MPSGraphTensor ResizeGradient (MPSGraphTensor gradient, MPSGraphTensor input, MPSGraphResizeMode mode, bool centerResult, bool alignCorners, MPSGraphTensorNamedDataLayout layout, [NullAllowed] string name); + } + + // @interface ScatterNDOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_ScatterNDOps + { + // -(MPSGraphTensor * _Nonnull)scatterNDWithUpdatesTensor:(MPSGraphTensor * _Nonnull)updatesTensor indicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor shape:(MPSShape * _Nonnull)shape batchDimensions:(NSUInteger)batchDimensions mode:(MPSGraphScatterMode)mode name:(NSString * _Nullable)name; + [Export ("scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:mode:name:")] + MPSGraphTensor ScatterND (MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, [BindAs (typeof (int[]))] NSNumber[] shape, nuint batchDimensions, MPSGraphScatterMode mode, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)scatterNDWithUpdatesTensor:(MPSGraphTensor * _Nonnull)updatesTensor indicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor shape:(MPSShape * _Nonnull)shape batchDimensions:(NSUInteger)batchDimensions name:(NSString * _Nullable)name; + [Export ("scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:name:")] + MPSGraphTensor ScatterND (MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, [BindAs (typeof (int[]))] NSNumber[] shape, nuint batchDimensions, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)scatterNDWithDataTensor:(MPSGraphTensor * _Nonnull)dataTensor updatesTensor:(MPSGraphTensor * _Nonnull)updatesTensor indicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor batchDimensions:(NSUInteger)batchDimensions mode:(MPSGraphScatterMode)mode name:(NSString * _Nullable)name __attribute__((swift_name("scatterNDWithData(_:updates:indices:batchDimensions:mode:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("scatterNDWithDataTensor:updatesTensor:indicesTensor:batchDimensions:mode:name:")] + MPSGraphTensor ScatterND (MPSGraphTensor dataTensor, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, nuint batchDimensions, MPSGraphScatterMode mode, [NullAllowed] string name); + } + + // @interface MPSGraphScatterOps (MPSGraph) + [Category] + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphScatterOps + { + // -(MPSGraphTensor * _Nonnull)scatterWithUpdatesTensor:(MPSGraphTensor * _Nonnull)updatesTensor indicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor shape:(MPSShape * _Nonnull)shape axis:(NSInteger)axis mode:(MPSGraphScatterMode)mode name:(NSString * _Nullable)name __attribute__((swift_name("scatter(_:indices:shape:axis:mode:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [Export ("scatterWithUpdatesTensor:indicesTensor:shape:axis:mode:name:")] + MPSGraphTensor Scatter (MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, [BindAs (typeof (int[]))] NSNumber[] shape, nint axis, MPSGraphScatterMode mode, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)scatterWithDataTensor:(MPSGraphTensor * _Nonnull)dataTensor updatesTensor:(MPSGraphTensor * _Nonnull)updatesTensor indicesTensor:(MPSGraphTensor * _Nonnull)indicesTensor axis:(NSInteger)axis mode:(MPSGraphScatterMode)mode name:(NSString * _Nullable)name __attribute__((swift_name("scatterWithData(_:updates:indices:axis:mode:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [Export ("scatterWithDataTensor:updatesTensor:indicesTensor:axis:mode:name:")] + MPSGraphTensor Scatter (MPSGraphTensor dataTensor, MPSGraphTensor updatesTensor, MPSGraphTensor indicesTensor, nint axis, MPSGraphScatterMode mode, [NullAllowed] string name); + } + + // @interface MPSGraphStencilOpDescriptor : NSObject + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphStencilOpDescriptor : NSCopying + { + // @property (readwrite, nonatomic) MPSGraphReductionMode reductionMode; + [Export ("reductionMode", ArgumentSemantic.Assign)] + MPSGraphReductionMode ReductionMode { get; set; } + + // @property (readwrite, copy, nonatomic) MPSShape * _Nonnull offsets; + [BindAs (typeof (int[]))] + [Export ("offsets", ArgumentSemantic.Copy)] + NSNumber[] Offsets { get; set; } + + // @property (readwrite, copy, nonatomic) MPSShape * _Nonnull strides; + [BindAs (typeof (int[]))] + [Export ("strides", ArgumentSemantic.Copy)] + NSNumber[] Strides { get; set; } + + // @property (readwrite, copy, nonatomic) MPSShape * _Nonnull dilationRates; + [BindAs (typeof (int[]))] + [Export ("dilationRates", ArgumentSemantic.Copy)] + NSNumber[] DilationRates { get; set; } + + // @property (readwrite, copy, nonatomic) MPSShape * _Nonnull explicitPadding; + [BindAs (typeof (int[]))] + [Export ("explicitPadding", ArgumentSemantic.Copy)] + NSNumber[] ExplicitPadding { get; set; } + + // @property (readwrite, nonatomic) MPSGraphPaddingMode boundaryMode; + [Export ("boundaryMode", ArgumentSemantic.Assign)] + MPSGraphPaddingMode BoundaryMode { get; set; } + + // @property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle; + [Export ("paddingStyle", ArgumentSemantic.Assign)] + MPSGraphPaddingStyle PaddingStyle { get; set; } + + // @property (readwrite, nonatomic) float paddingConstant; + [Export ("paddingConstant")] + float PaddingConstant { get; set; } + + // +(instancetype _Nullable)descriptorWithReductionMode:(MPSGraphReductionMode)reductionMode offsets:(MPSShape * _Nonnull)offsets strides:(MPSShape * _Nonnull)strides dilationRates:(MPSShape * _Nonnull)dilationRates explicitPadding:(MPSShape * _Nonnull)explicitPadding boundaryMode:(MPSGraphPaddingMode)boundaryMode paddingStyle:(MPSGraphPaddingStyle)paddingStyle paddingConstant:(float)paddingConstant; + [Static] + [Export ("descriptorWithReductionMode:offsets:strides:dilationRates:explicitPadding:boundaryMode:paddingStyle:paddingConstant:")] + [return: NullAllowed] + MPSGraphStencilOpDescriptor Create (MPSGraphReductionMode reductionMode, [BindAs (typeof (int[]))] NSNumber[] offsets, [BindAs (typeof (int[]))] NSNumber[] strides, [BindAs (typeof (int[]))] NSNumber[] dilationRates, [BindAs (typeof (int[]))] NSNumber[] explicitPadding, MPSGraphPaddingMode boundaryMode, MPSGraphPaddingStyle paddingStyle, float paddingConstant); + + // +(instancetype _Nullable)descriptorWithOffsets:(MPSShape * _Nonnull)offsets explicitPadding:(MPSShape * _Nonnull)explicitPadding; + [Static] + [Export ("descriptorWithOffsets:explicitPadding:")] + [return: NullAllowed] + MPSGraphStencilOpDescriptor Create ([BindAs (typeof (int[]))] NSNumber[] offsets, [BindAs (typeof (int[]))] NSNumber[] explicitPadding); + + // +(instancetype _Nullable)descriptorWithExplicitPadding:(MPSShape * _Nonnull)explicitPadding; + [Static] + [Export ("descriptorWithExplicitPadding:")] + [return: NullAllowed] + MPSGraphStencilOpDescriptor Create ([BindAs (typeof (int[]))] NSNumber[] explicitPadding); + + // +(instancetype _Nullable)descriptorWithPaddingStyle:(MPSGraphPaddingStyle)paddingStyle; + [Static] + [Export ("descriptorWithPaddingStyle:")] + [return: NullAllowed] + MPSGraphStencilOpDescriptor Create (MPSGraphPaddingStyle paddingStyle); + } + + // @interface MPSGraphStencilOps (MPSGraph) + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphStencilOps + { + // -(MPSGraphTensor * _Nonnull)stencilWithSourceTensor:(MPSGraphTensor * _Nonnull)source weightsTensor:(MPSGraphTensor * _Nonnull)weights descriptor:(MPSGraphStencilOpDescriptor * _Nonnull)descriptor name:(NSString * _Nullable)name; + [Export ("stencilWithSourceTensor:weightsTensor:descriptor:name:")] + MPSGraphTensor Stencil (MPSGraphTensor source, MPSGraphTensor weights, MPSGraphStencilOpDescriptor descriptor, [NullAllowed] string name); + } + + // @interface MPSGraphTensorShapeOps (MPSGraph) + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphTensorShapeOps + { + // -(MPSGraphTensor * _Nonnull)reshapeTensor:(MPSGraphTensor * _Nonnull)tensor withShape:(MPSShape * _Nonnull)shape name:(NSString * _Nullable)name __attribute__((swift_name("reshape(_:shape:name:)"))); + [Export ("reshapeTensor:withShape:name:")] + MPSGraphTensor Reshape (MPSGraphTensor tensor, [BindAs (typeof (int[]))] NSNumber[] shape, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reshapeTensor:(MPSGraphTensor * _Nonnull)tensor withShapeTensor:(MPSGraphTensor * _Nonnull)shapeTensor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))) __attribute__((swift_name("reshape(_:shapeTensor:name:)"))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("reshapeTensor:withShapeTensor:name:")] + MPSGraphTensor Reshape (MPSGraphTensor tensor, MPSGraphTensor shapeTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)transposeTensor:(MPSGraphTensor * _Nonnull)tensor dimension:(NSUInteger)dimensionIndex withDimension:(NSUInteger)dimensionIndex2 name:(NSString * _Nullable)name; + [Export ("transposeTensor:dimension:withDimension:name:")] + MPSGraphTensor Transpose (MPSGraphTensor tensor, nuint dimensionIndex, nuint dimensionIndex2, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sliceTensor:(MPSGraphTensor * _Nonnull)tensor dimension:(NSUInteger)dimensionIndex start:(NSInteger)start length:(NSInteger)length name:(NSString * _Nullable)name; + [Export ("sliceTensor:dimension:start:length:name:")] + MPSGraphTensor Slice (MPSGraphTensor tensor, nuint dimensionIndex, nint start, nint length, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sliceTensor:(MPSGraphTensor * _Nonnull)tensor starts:(NSArray * _Nonnull)starts ends:(NSArray * _Nonnull)ends strides:(NSArray * _Nonnull)strides name:(NSString * _Nullable)name; + [Export ("sliceTensor:starts:ends:strides:name:")] + MPSGraphTensor Slice (MPSGraphTensor tensor, [BindAs (typeof (int[]))] NSNumber[] starts, [BindAs (typeof (int[]))] NSNumber[] ends, [BindAs (typeof (int[]))] NSNumber[] strides, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sliceTensor:(MPSGraphTensor * _Nonnull)tensor starts:(NSArray * _Nonnull)starts ends:(NSArray * _Nonnull)ends strides:(NSArray * _Nonnull)strides startMask:(uint32_t)startMask endMask:(uint32_t)endMask squeezeMask:(uint32_t)squeezeMask name:(NSString * _Nullable)name; + [Export ("sliceTensor:starts:ends:strides:startMask:endMask:squeezeMask:name:")] + MPSGraphTensor Slice (MPSGraphTensor tensor, [BindAs (typeof (int[]))] NSNumber[] starts, [BindAs (typeof (int[]))] NSNumber[] ends, [BindAs (typeof (int[]))] NSNumber[] strides, uint startMask, uint endMask, uint squeezeMask, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sliceGradientTensor:(MPSGraphTensor * _Nonnull)inputGradientTensor fwdInShapeTensor:(MPSGraphTensor * _Nonnull)fwdInShapeTensor starts:(NSArray * _Nonnull)starts ends:(NSArray * _Nonnull)ends strides:(NSArray * _Nonnull)strides name:(NSString * _Nullable)name; + [Export ("sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:name:")] + MPSGraphTensor SliceGradient (MPSGraphTensor inputGradientTensor, MPSGraphTensor fwdInShapeTensor, [BindAs (typeof (int[]))] NSNumber[] starts, [BindAs (typeof (int[]))] NSNumber[] ends, [BindAs (typeof (int[]))] NSNumber[] strides, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)sliceGradientTensor:(MPSGraphTensor * _Nonnull)inputGradientTensor fwdInShapeTensor:(MPSGraphTensor * _Nonnull)fwdInShapeTensor starts:(NSArray * _Nonnull)starts ends:(NSArray * _Nonnull)ends strides:(NSArray * _Nonnull)strides startMask:(uint32_t)startMask endMask:(uint32_t)endMask squeezeMask:(uint32_t)squeezeMask name:(NSString * _Nullable)name; + [Export ("sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:startMask:endMask:squeezeMask:name:")] + MPSGraphTensor SliceGradient (MPSGraphTensor inputGradientTensor, MPSGraphTensor fwdInShapeTensor, [BindAs (typeof (int[]))] NSNumber[] starts, [BindAs (typeof (int[]))] NSNumber[] ends, [BindAs (typeof (int[]))] NSNumber[] strides, uint startMask, uint endMask, uint squeezeMask, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)concatTensor:(MPSGraphTensor * _Nonnull)tensor withTensor:(MPSGraphTensor * _Nonnull)tensor2 dimension:(NSInteger)dimensionIndex name:(NSString * _Nullable)name; + [Export ("concatTensor:withTensor:dimension:name:")] + MPSGraphTensor Concat (MPSGraphTensor tensor, MPSGraphTensor tensor2, nint dimensionIndex, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)concatTensors:(NSArray * _Nonnull)tensors dimension:(NSInteger)dimensionIndex name:(NSString * _Nullable)name; + [Export ("concatTensors:dimension:name:")] + MPSGraphTensor ConcatTensors (MPSGraphTensor[] tensors, nint dimensionIndex, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)concatTensors:(NSArray * _Nonnull)tensors dimension:(NSInteger)dimensionIndex interleave:(BOOL)interleave name:(NSString * _Nullable)name; + [Export ("concatTensors:dimension:interleave:name:")] + MPSGraphTensor ConcatTensors (MPSGraphTensor[] tensors, nint dimensionIndex, bool interleave, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)tileTensor:(MPSGraphTensor * _Nonnull)tensor withMultiplier:(MPSShape * _Nonnull)multiplier name:(NSString * _Nullable)name; + [Export ("tileTensor:withMultiplier:name:")] + MPSGraphTensor Tile (MPSGraphTensor tensor, [BindAs (typeof (int[]))] NSNumber[] multiplier, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)tileGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradientTensor sourceTensor:(MPSGraphTensor * _Nonnull)sourceTensor withMultiplier:(MPSShape * _Nonnull)multiplier name:(NSString * _Nullable)name; + [Export ("tileGradientWithIncomingGradientTensor:sourceTensor:withMultiplier:name:")] + MPSGraphTensor TileGradient (MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, [BindAs (typeof (int[]))] NSNumber[] multiplier, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)padTensor:(MPSGraphTensor * _Nonnull)tensor withPaddingMode:(MPSGraphPaddingMode)paddingMode leftPadding:(MPSShape * _Nonnull)leftPadding rightPadding:(MPSShape * _Nonnull)rightPadding constantValue:(double)constantValue name:(NSString * _Nullable)name; + [Export ("padTensor:withPaddingMode:leftPadding:rightPadding:constantValue:name:")] + MPSGraphTensor Pad (MPSGraphTensor tensor, MPSGraphPaddingMode paddingMode, [BindAs (typeof (int[]))] NSNumber[] leftPadding, [BindAs (typeof (int[]))] NSNumber[] rightPadding, double constantValue, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)padGradientWithIncomingGradientTensor:(MPSGraphTensor * _Nonnull)incomingGradientTensor sourceTensor:(MPSGraphTensor * _Nonnull)sourceTensor paddingMode:(MPSGraphPaddingMode)paddingMode leftPadding:(MPSShape * _Nonnull)leftPadding rightPadding:(MPSShape * _Nonnull)rightPadding name:(NSString * _Nullable)name; + [Export ("padGradientWithIncomingGradientTensor:sourceTensor:paddingMode:leftPadding:rightPadding:name:")] + MPSGraphTensor PadGradient (MPSGraphTensor incomingGradientTensor, MPSGraphTensor sourceTensor, MPSGraphPaddingMode paddingMode, [BindAs (typeof (int[]))] NSNumber[] leftPadding, [BindAs (typeof (int[]))] NSNumber[] rightPadding, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)spaceToDepth2DTensor:(MPSGraphTensor * _Nonnull)tensor widthAxisTensor:(MPSGraphTensor * _Nonnull)widthAxisTensor heightAxisTensor:(MPSGraphTensor * _Nonnull)heightAxisTensor depthAxisTensor:(MPSGraphTensor * _Nonnull)depthAxisTensor blockSize:(NSUInteger)blockSize usePixelShuffleOrder:(BOOL)usePixelShuffleOrder name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name:")] + MPSGraphTensor SpaceToDepth2D (MPSGraphTensor tensor, MPSGraphTensor widthAxisTensor, MPSGraphTensor heightAxisTensor, MPSGraphTensor depthAxisTensor, nuint blockSize, bool usePixelShuffleOrder, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)depthToSpace2DTensor:(MPSGraphTensor * _Nonnull)tensor widthAxisTensor:(MPSGraphTensor * _Nonnull)widthAxisTensor heightAxisTensor:(MPSGraphTensor * _Nonnull)heightAxisTensor depthAxisTensor:(MPSGraphTensor * _Nonnull)depthAxisTensor blockSize:(NSUInteger)blockSize usePixelShuffleOrder:(BOOL)usePixelShuffleOrder name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name:")] + MPSGraphTensor DepthToSpace2D (MPSGraphTensor tensor, MPSGraphTensor widthAxisTensor, MPSGraphTensor heightAxisTensor, MPSGraphTensor depthAxisTensor, nuint blockSize, bool usePixelShuffleOrder, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)spaceToDepth2DTensor:(MPSGraphTensor * _Nonnull)tensor widthAxis:(NSUInteger)widthAxis heightAxis:(NSUInteger)heightAxis depthAxis:(NSUInteger)depthAxis blockSize:(NSUInteger)blockSize usePixelShuffleOrder:(BOOL)usePixelShuffleOrder name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name:")] + MPSGraphTensor SpaceToDepth2D (MPSGraphTensor tensor, nuint widthAxis, nuint heightAxis, nuint depthAxis, nuint blockSize, bool usePixelShuffleOrder, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)depthToSpace2DTensor:(MPSGraphTensor * _Nonnull)tensor widthAxis:(NSUInteger)widthAxis heightAxis:(NSUInteger)heightAxis depthAxis:(NSUInteger)depthAxis blockSize:(NSUInteger)blockSize usePixelShuffleOrder:(BOOL)usePixelShuffleOrder name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name:")] + MPSGraphTensor DepthToSpace2D (MPSGraphTensor tensor, nuint widthAxis, nuint heightAxis, nuint depthAxis, nuint blockSize, bool usePixelShuffleOrder, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reverseTensor:(MPSGraphTensor * _Nonnull)tensor axesTensor:(MPSGraphTensor * _Nonnull)axesTensor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("reverseTensor:axesTensor:name:")] + MPSGraphTensor Reverse (MPSGraphTensor tensor, MPSGraphTensor axesTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reverseTensor:(MPSGraphTensor * _Nonnull)tensor axes:(NSArray * _Nonnull)axes name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("reverseTensor:axes:name:")] + MPSGraphTensor Reverse (MPSGraphTensor tensor, [BindAs (typeof (int[]))] NSNumber[] axes, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)reverseTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("reverseTensor:name:")] + MPSGraphTensor Reverse (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)flatten2DTensor:(MPSGraphTensor * _Nonnull)tensor axis:(NSInteger)axis name:(NSString * _Nullable)name __attribute__((swift_name("flatten2D(_:axis:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("flatten2DTensor:axis:name:")] + MPSGraphTensor Flatten2D (MPSGraphTensor tensor, nint axis, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)flatten2DTensor:(MPSGraphTensor * _Nonnull)tensor axisTensor:(MPSGraphTensor * _Nonnull)axisTensor name:(NSString * _Nullable)name __attribute__((swift_name("flatten2D(_:axisTensor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("flatten2DTensor:axisTensor:name:")] + MPSGraphTensor Flatten2D (MPSGraphTensor tensor, MPSGraphTensor axisTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)broadcastTensor:(MPSGraphTensor * _Nonnull)tensor toShape:(MPSShape * _Nonnull)shape name:(NSString * _Nullable)name __attribute__((swift_name("broadcast(_:shape:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("broadcastTensor:toShape:name:")] + MPSGraphTensor Broadcast (MPSGraphTensor tensor, [BindAs (typeof (int[]))] NSNumber[] shape, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)broadcastTensor:(MPSGraphTensor * _Nonnull)tensor toShapeTensor:(MPSGraphTensor * _Nonnull)shapeTensor name:(NSString * _Nullable)name __attribute__((swift_name("broadcast(_:shapeTensor:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("broadcastTensor:toShapeTensor:name:")] + MPSGraphTensor Broadcast (MPSGraphTensor tensor, MPSGraphTensor shapeTensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)shapeOfTensor:(MPSGraphTensor * _Nonnull)tensor name:(NSString * _Nullable)name __attribute__((swift_name("shapeOf(_:name:)"))) __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("shapeOfTensor:name:")] + MPSGraphTensor Shape (MPSGraphTensor tensor, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)castTensor:(MPSGraphTensor * _Nonnull)tensor toType:(MPSDataType)type name:(NSString * _Nonnull)name __attribute__((availability(macos, introduced=12.0))) __attribute__((availability(ios, introduced=15.0))) __attribute__((availability(tvos, introduced=15.0))); + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("castTensor:toType:name:")] + MPSGraphTensor Cast (MPSGraphTensor tensor, MPSDataType type, string name); + } + + // @interface MPSGraphTopKOps (MPSGraph) + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphTopKOps + { + // -(NSArray * _Nonnull)topKWithSourceTensor:(MPSGraphTensor * _Nonnull)source k:(NSUInteger)k name:(NSString * _Nullable)name __attribute__((swift_name("topK(_:k:name:)"))); + [Export ("topKWithSourceTensor:k:name:")] + MPSGraphTensor[] TopK (MPSGraphTensor source, nuint k, [NullAllowed] string name); + + // -(NSArray * _Nonnull)topKWithSourceTensor:(MPSGraphTensor * _Nonnull)source kTensor:(MPSGraphTensor * _Nonnull)kTensor name:(NSString * _Nullable)name __attribute__((swift_name("topK(_:kTensor:name:)"))); + [Export ("topKWithSourceTensor:kTensor:name:")] + MPSGraphTensor[] TopK (MPSGraphTensor source, MPSGraphTensor kTensor, [NullAllowed] string name); + } + + // @interface MPSGraphTopKGradientOps (MPSGraph) + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Category] + [BaseType (typeof(MPSGraph))] + interface MPSGraph_MPSGraphTopKGradientOps + { + // -(MPSGraphTensor * _Nonnull)topKWithGradientTensor:(MPSGraphTensor * _Nonnull)gradient source:(MPSGraphTensor * _Nonnull)source k:(NSUInteger)k name:(NSString * _Nullable)name __attribute__((swift_name("topKGradient(_:input:k:name:)"))); + [Export ("topKWithGradientTensor:source:k:name:")] + MPSGraphTensor TopKGradient (MPSGraphTensor gradient, MPSGraphTensor source, nuint k, [NullAllowed] string name); + + // -(MPSGraphTensor * _Nonnull)topKWithGradientTensor:(MPSGraphTensor * _Nonnull)gradient source:(MPSGraphTensor * _Nonnull)source kTensor:(MPSGraphTensor * _Nonnull)kTensor name:(NSString * _Nullable)name __attribute__((swift_name("topKGradient(_:input:kTensor:name:)"))); + [Export ("topKWithGradientTensor:source:kTensor:name:")] + MPSGraphTensor TopKGradient (MPSGraphTensor gradient, MPSGraphTensor source, MPSGraphTensor kTensor, [NullAllowed] string name); + } + + // @interface MPSGraphCompilationDescriptor : NSObject + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphCompilationDescriptor : NSCopying + { + // -(void)disableTypeInference; + [Export ("disableTypeInference")] + void DisableTypeInference (); + } + + // @interface MPSGraphDevice : NSObject + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphDevice + { + // @property (readonly, nonatomic) MPSGraphDeviceType type; + [Export ("type")] + MPSGraphDeviceType Type { get; } + + // @property (readonly, nonatomic) id _Nullable metalDevice; + [NullAllowed, Export ("metalDevice")] + IMTLDevice MetalDevice { get; } + + // +(instancetype _Nonnull)deviceWithMTLDevice:(id _Nonnull)metalDevice; + [Static] + [Export ("deviceWithMTLDevice:")] + MPSGraphDevice Create (IMTLDevice metalDevice); + } + + // typedef void (^MPSGraphExecutableCompletionHandler)(NSArray * _Nonnull, NSError * _Nullable); + delegate void MPSGraphExecutableCompletionHandler (MPSGraphTensorData[] results, [NullAllowed] NSError error); + + // typedef void (^MPSGraphExecutableScheduledHandler)(NSArray * _Nonnull, NSError * _Nullable); + delegate void MPSGraphExecutableScheduledHandler (MPSGraphTensorData[] results, [NullAllowed] NSError error); + + // @interface MPSGraphExecutableExecutionDescriptor : NSObject + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphExecutableExecutionDescriptor + { + // @property (readwrite, atomic) MPSGraphExecutableScheduledHandler _Nonnull scheduledHandler; + [Export ("scheduledHandler", ArgumentSemantic.Assign)] + MPSGraphExecutableScheduledHandler ScheduledHandler { get; set; } + + // @property (readwrite, atomic) MPSGraphExecutableCompletionHandler _Nonnull completionHandler; + [Export ("completionHandler", ArgumentSemantic.Assign)] + MPSGraphExecutableCompletionHandler CompletionHandler { get; set; } + + // @property (readwrite, atomic) BOOL waitUntilCompleted; + [Export ("waitUntilCompleted")] + bool WaitUntilCompleted { get; set; } + } + + // @interface MPSGraphExecutable : NSObject + [TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphExecutable + { + // @property (readwrite, atomic) MPSGraphOptions options; + [Export ("options", ArgumentSemantic.Assign)] + MPSGraphOptions Options { get; set; } + + // @property (readonly, atomic) NSArray * _Nullable feedTensors; + [NullAllowed, Export ("feedTensors")] + MPSGraphTensor[] FeedTensors { get; } + + // @property (readonly, atomic) NSArray * _Nullable targetTensors; + [NullAllowed, Export ("targetTensors")] + MPSGraphTensor[] TargetTensors { get; } + + // -(void)specializeWithDevice:(MPSGraphDevice * _Nullable)device inputTypes:(NSArray * _Nonnull)inputTypes compilationDescriptor:(MPSGraphCompilationDescriptor * _Nullable)compilationDescriptor; + [Export ("specializeWithDevice:inputTypes:compilationDescriptor:")] + void Specialize ([NullAllowed] MPSGraphDevice device, MPSGraphType[] inputTypes, [NullAllowed] MPSGraphCompilationDescriptor compilationDescriptor); + + // -(NSArray * _Nonnull)runWithMTLCommandQueue:(id _Nonnull)commandQueue inputsArray:(NSArray * _Nonnull)inputsArray resultsArray:(NSArray * _Nullable)resultsArray executionDescriptor:(MPSGraphExecutableExecutionDescriptor * _Nullable)executionDescriptor __attribute__((swift_name("run(with:inputs:results:executionDescriptor:)"))); + [Export ("runWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor:")] + MPSGraphTensorData[] Run (IMTLCommandQueue commandQueue, MPSGraphTensorData[] inputsArray, [NullAllowed] MPSGraphTensorData[] resultsArray, [NullAllowed] MPSGraphExecutableExecutionDescriptor executionDescriptor); + + // -(NSArray * _Nonnull)runAsyncWithMTLCommandQueue:(id _Nonnull)commandQueue inputsArray:(NSArray * _Nonnull)inputsArray resultsArray:(NSArray * _Nullable)resultsArray executionDescriptor:(MPSGraphExecutableExecutionDescriptor * _Nullable)executionDescriptor __attribute__((swift_name("runAsync(with:inputs:results:executionDescriptor:)"))); + [Export ("runAsyncWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor:")] + MPSGraphTensorData[] RunAsync (IMTLCommandQueue commandQueue, MPSGraphTensorData[] inputsArray, [NullAllowed] MPSGraphTensorData[] resultsArray, [NullAllowed] MPSGraphExecutableExecutionDescriptor executionDescriptor); + + // -(NSArray * _Nonnull)encodeToCommandBuffer:(MPSCommandBuffer * _Nonnull)commandBuffer inputsArray:(NSArray * _Nonnull)inputsArray resultsArray:(NSArray * _Nullable)resultsArray executionDescriptor:(MPSGraphExecutableExecutionDescriptor * _Nullable)executionDescriptor __attribute__((swift_name("encode(to:inputs:results:executionDescriptor:)"))); + [Export ("encodeToCommandBuffer:inputsArray:resultsArray:executionDescriptor:")] + MPSGraphTensorData[] Encode (MPSCommandBuffer commandBuffer, MPSGraphTensorData[] inputsArray, [NullAllowed] MPSGraphTensorData[] resultsArray, [NullAllowed] MPSGraphExecutableExecutionDescriptor executionDescriptor); + } + + // typedef void (^MPSGraphCompletionHandler)(MPSGraphTensorDataDictionary * _Nonnull, NSError * _Nullable); + delegate void MPSGraphCompletionHandler (MPSGraphTensorDataDictionary resultsDictionary, [NullAllowed] NSError error); + + // typedef void (^MPSGraphScheduledHandler)(MPSGraphTensorDataDictionary * _Nonnull, NSError * _Nullable); + delegate void MPSGraphScheduledHandler (MPSGraphTensorDataDictionary resultsDictionary, [NullAllowed] NSError error); + + // @interface MPSGraphExecutionDescriptor : NSObject + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphExecutionDescriptor + { + // @property (readwrite, atomic) MPSGraphScheduledHandler _Nonnull scheduledHandler; + [Export ("scheduledHandler", ArgumentSemantic.Assign)] + MPSGraphScheduledHandler ScheduledHandler { get; set; } + + // @property (readwrite, atomic) MPSGraphCompletionHandler _Nonnull completionHandler; + [Export ("completionHandler", ArgumentSemantic.Assign)] + MPSGraphCompletionHandler CompletionHandler { get; set; } + + // @property (readwrite, atomic) BOOL waitUntilCompleted; + [Export ("waitUntilCompleted")] + bool WaitUntilCompleted { get; set; } + } + + // @interface MPSGraphType: NSObject + [iOS (15,0), TV (15,0), Mac (12,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphType : NSCopying + { + } + + // MPSGraphType was introduced in iOS 15 (macOS 12) and became the base class for + // MPSGraphShapedType which existed in iOS 14. + // @interface MPSGraphShapedType : MPSGraphType + [iOS (15,0), TV (15,0), Mac (12,0), MacCatalyst (15,0)] + [BaseType (typeof(MPSGraphType))] + interface MPSGraphShapedType + { + // @property (readwrite, copy, atomic) MPSShape * _Nullable shape; + [NullAllowed] + [BindAs (typeof (int[]))] + [Export ("shape", ArgumentSemantic.Copy)] + NSNumber[] Shape { get; set; } + + // @property (readwrite, atomic) MPSDataType dataType; + [Export ("dataType", ArgumentSemantic.Assign)] + MPSDataType DataType { get; set; } + + // -(instancetype _Nonnull)initWithShape:(MPSShape * _Nullable)shape dataType:(MPSDataType)dataType; + [Export ("initWithShape:dataType:")] + IntPtr Constructor ([NullAllowed] [BindAs (typeof (int[]))] NSNumber[] shape, MPSDataType dataType); + + // -(BOOL)isEqualTo:(MPSGraphShapedType * _Nullable)object; + [Export ("isEqualTo:")] + bool IsEqualTo ([NullAllowed] MPSGraphShapedType @object); + } + + // MPSGraphOperation.h + + // @interface MPSGraphOperation : NSObject + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(NSObject))] + [DisableDefaultCtor] + interface MPSGraphOperation : NSCopying + { + // @property (readonly, nonatomic) NSArray * _Nonnull inputTensors; + [Export ("inputTensors")] + MPSGraphTensor[] InputTensors { get; } + + // @property (readonly, nonatomic) NSArray * _Nonnull outputTensors; + [Export ("outputTensors")] + MPSGraphTensor[] OutputTensors { get; } + + // @property (readonly, nonatomic) NSArray * _Nonnull controlDependencies; + [Export ("controlDependencies")] + MPSGraphOperation[] ControlDependencies { get; } + + // @property (readonly, nonatomic) MPSGraph * _Nonnull graph; + [Export ("graph")] + MPSGraph Graph { get; } + + // @property (readonly, nonatomic) NSString * _Nonnull name; + [Export ("name")] + string Name { get; } + } + + // MPSGraphTensor.h + + // @interface MPSGraphTensor : NSObject + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(NSObject))] + [DisableDefaultCtor] + interface MPSGraphTensor : NSCopying + { + // @property (readonly, copy, nonatomic) MPSShape * _Nullable shape; + [NullAllowed] + [BindAs (typeof (int[]))] + [Export ("shape", ArgumentSemantic.Copy)] + NSNumber[] Shape { get; } + + // @property (readonly, nonatomic) MPSDataType dataType; + [Export ("dataType")] + MPSDataType DataType { get; } + + // @property (readonly, nonatomic) MPSGraphOperation * _Nonnull operation; + [Export ("operation")] + MPSGraphOperation Operation { get; } + } + + // @interface MPSGraphTensorData : NSObject + [iOS (14,0), TV (14,0), Mac (11,0), MacCatalyst (14,0)] + [BaseType (typeof(NSObject))] + interface MPSGraphTensorData + { + // @property (readonly, copy, nonatomic) MPSShape * _Nonnull shape; + [BindAs (typeof (int[]))] + [Export ("shape", ArgumentSemantic.Copy)] + NSNumber[] Shape { get; } + + // @property (readonly, nonatomic) MPSDataType dataType; + [Export ("dataType")] + MPSDataType DataType { get; } + + // @property (readonly, nonatomic) MPSGraphDevice * _Nonnull device; + [Export ("device")] + MPSGraphDevice Device { get; } + + // -(instancetype _Nonnull)initWithDevice:(MPSGraphDevice * _Nonnull)device data:(NSData * _Nonnull)data shape:(MPSShape * _Nonnull)shape dataType:(MPSDataType)dataType; + [Export ("initWithDevice:data:shape:dataType:")] + IntPtr Constructor (MPSGraphDevice device, NSData data, [BindAs (typeof (int[]))] NSNumber[] shape, MPSDataType dataType); + + // -(instancetype _Nonnull)initWithMTLBuffer:(id _Nonnull)buffer shape:(MPSShape * _Nonnull)shape dataType:(MPSDataType)dataType __attribute__((swift_name("init(_:shape:dataType:)"))); + [Export ("initWithMTLBuffer:shape:dataType:")] + IntPtr Constructor (IMTLBuffer buffer, [BindAs (typeof (int[]))] NSNumber[] shape, MPSDataType dataType); + + // -(instancetype _Nonnull)initWithMPSMatrix:(MPSMatrix * _Nonnull)matrix __attribute__((swift_name("init(_:)"))); + [Export ("initWithMPSMatrix:")] + IntPtr Constructor (MPSMatrix matrix); + + // -(instancetype _Nonnull)initWithMPSMatrix:(MPSMatrix * _Nonnull)matrix rank:(NSUInteger)rank __attribute__((swift_name("init(_:rank:)"))); + [Export ("initWithMPSMatrix:rank:")] + IntPtr Constructor (MPSMatrix matrix, nuint rank); + + // -(instancetype _Nonnull)initWithMPSVector:(MPSVector * _Nonnull)vector __attribute__((swift_name("init(_:)"))); + [Export ("initWithMPSVector:")] + IntPtr Constructor (MPSVector vector); + + // -(instancetype _Nonnull)initWithMPSVector:(MPSVector * _Nonnull)vector rank:(NSUInteger)rank __attribute__((swift_name("init(_:rank:)"))); + [Export ("initWithMPSVector:rank:")] + IntPtr Constructor (MPSVector vector, nuint rank); + + // -(instancetype _Nonnull)initWithMPSNDArray:(MPSNDArray * _Nonnull)ndarray __attribute__((swift_name("init(_:)"))); + [Export ("initWithMPSNDArray:")] + IntPtr Constructor (MPSNDArray ndarray); + + // Use NSArray here instead of [] to match the MetalPerformanceShaders API + // -(instancetype _Nonnull)initWithMPSImageBatch:(MPSImageBatch * _Nonnull)imageBatch __attribute__((swift_name("init(_:)"))); + [Export ("initWithMPSImageBatch:")] + IntPtr Constructor (NSArray imageBatch); + + // -(MPSNDArray * _Nonnull)mpsndarray; + [Export ("mpsndarray")] + MPSNDArray MPSNDArray { get; } + } + + +} diff --git a/tests/introspection/ApiSelectorTest.cs b/tests/introspection/ApiSelectorTest.cs index df43f8a98973..290ca4d21125 100644 --- a/tests/introspection/ApiSelectorTest.cs +++ b/tests/introspection/ApiSelectorTest.cs @@ -893,6 +893,9 @@ protected virtual bool Skip (Type type, string selectorName) return true; } break; + case "MPSGraphCompilationDescriptor": + // Runtime lookup doesn't work, but executing it works fine. + return true; case "MPSImageDescriptor": switch (selectorName) { case "copyWithZone:": diff --git a/tests/introspection/ApiTypoTest.cs b/tests/introspection/ApiTypoTest.cs index 9dc72625fd56..6948e7610af3 100644 --- a/tests/introspection/ApiTypoTest.cs +++ b/tests/introspection/ApiTypoTest.cs @@ -1089,6 +1089,7 @@ public void ConstantsCheck () #endif #if __TVOS__ case "MetalPerformanceShadersLibrary": + case "MetalPerformanceShadersGraphLibrary": // not supported in tvOS (12.1) simulator so load fails if (TestRuntime.IsSimulatorOrDesktop) break; diff --git a/tests/introspection/iOS/iOSApiCtorInitTest.cs b/tests/introspection/iOS/iOSApiCtorInitTest.cs index e54ba47eaed8..7a2c4905de30 100644 --- a/tests/introspection/iOS/iOSApiCtorInitTest.cs +++ b/tests/introspection/iOS/iOSApiCtorInitTest.cs @@ -65,6 +65,12 @@ protected override bool Skip (Type type) return true; break; #endif // !__WATCHOS__ +#if __TVOS__ + case "MetalPerformanceShadersGraph": + if (TestRuntime.IsSimulatorOrDesktop) + return true; + break; +#endif // __TVOS__ case "CoreNFC": // Only available on devices that support NFC, so check if NFCNDEFReaderSession is present. if (Class.GetHandle ("NFCNDEFReaderSession") == IntPtr.Zero) return true; diff --git a/tests/introspection/iOS/iOSApiFieldTest.cs b/tests/introspection/iOS/iOSApiFieldTest.cs index dec7640ba197..0987ada84b57 100644 --- a/tests/introspection/iOS/iOSApiFieldTest.cs +++ b/tests/introspection/iOS/iOSApiFieldTest.cs @@ -51,6 +51,12 @@ protected override bool Skip (PropertyInfo p) if (Class.GetHandle ("NFCNDEFReaderSession") == IntPtr.Zero) return true; break; +#if __TVOS__ + case "MetalPerformanceShadersGraph": + if (TestRuntime.IsSimulatorOrDesktop) + return true; + break; +#endif // __TVOS__ case "Phase": case "DeviceCheck": // Only available on device if (TestRuntime.IsSimulatorOrDesktop) diff --git a/tests/introspection/iOS/iOSApiProtocolTest.cs b/tests/introspection/iOS/iOSApiProtocolTest.cs index 099144b9259c..8a0dc506442d 100644 --- a/tests/introspection/iOS/iOSApiProtocolTest.cs +++ b/tests/introspection/iOS/iOSApiProtocolTest.cs @@ -44,6 +44,12 @@ protected override bool Skip (Type type) if (TestRuntime.IsSimulatorOrDesktop) return true; break; +#if __TVOS__ + case "MetalPerformanceShadersGraph": + if (TestRuntime.IsSimulatorOrDesktop) + return true; + break; +#endif // __TVOS__ case "CoreNFC": // Only available on devices that support NFC, so check if NFCNDEFReaderSession is present. if (Class.GetHandle ("NFCNDEFReaderSession") == IntPtr.Zero) return true; diff --git a/tests/introspection/iOS/iOSApiSelectorTest.cs b/tests/introspection/iOS/iOSApiSelectorTest.cs index a621bef100fe..874979726fd2 100644 --- a/tests/introspection/iOS/iOSApiSelectorTest.cs +++ b/tests/introspection/iOS/iOSApiSelectorTest.cs @@ -58,6 +58,12 @@ protected override bool Skip (Type type) if (TestRuntime.IsSimulatorOrDesktop) return true; break; +#if __TVOS__ + case "MetalPerformanceShadersGraph": + if (TestRuntime.IsSimulatorOrDesktop) + return true; + break; +#endif // __TVOS__ // Xcode 9 case "CoreNFC": // Only available on devices that support NFC, so check if NFCNDEFReaderSession is present. if (Class.GetHandle ("NFCNDEFReaderSession") == IntPtr.Zero) diff --git a/tests/monotouch-test/MetalPerformanceShaders/MnistTest.cs b/tests/monotouch-test/MetalPerformanceShaders/MnistTest.cs new file mode 100644 index 000000000000..00e23b259ad0 --- /dev/null +++ b/tests/monotouch-test/MetalPerformanceShaders/MnistTest.cs @@ -0,0 +1,328 @@ +#nullable enable + +#if HAS_METALPERFORMANCESHADERSGRAPH +// MetalPerformanceShadersGraph is not available in the tvOS simulator (the code from the static registrar won't compile) +// Unfortunately we don't have a define that tells us we're building for the simulator, so exclude all of tvOS. +#if !__TVOS__ +#define ENABLE_MNIST_TESTER +#endif +#endif + +#if ENABLE_MNIST_TESTER + +using System; +using System.Collections.Generic; +using System.Threading; + +using Foundation; +using Metal; +using MetalPerformanceShaders; +using MetalPerformanceShadersGraph; +using ObjCRuntime; + +using NUnit.Framework; + +namespace MonoTouchFixtures.MetalPerformanceShadersGraph { + [Preserve (AllMembers = true)] + [TestFixture] + public class MnistTester + { + + [OneTimeSetUp] + public void IsSupported () + { + TestRuntime.AssertNotVirtualMachine (); + TestRuntime.AssertXcodeVersion (13, 0); // There are known bugs in early versions of MetalPerformanceShadersGraph that makes this test crash, so require macOS 12+. +#if __TVOS__ + if (Runtime.Arch == Arch.SIMULATOR) + Assert.Inconclusive ("Metal Performance Shaders Graph is not supported in the tvOS simulator"); +#elif __IOS__ && !__MACCATALYST__ + if (Runtime.Arch == Arch.SIMULATOR) + TestRuntime.IgnoreInCI ("This test seems to make bots keel over and die."); +#endif + + var device = MTLDevice.SystemDefault; + // some older hardware won't have a default + if (device is null) { + Assert.Inconclusive ($"Metal does not exist on this device."); + } else if (!MPSKernel.Supports (device)) + Assert.Inconclusive ($"Metal is not supported on this device: {device.Name}"); + } + + [Test] + public void Run () + { + using (var tester = new MnistTest ()) { + tester.Run (); + } + } + } + + public class MnistTest : IDisposable + { + const int batchSize = 3; + + readonly int numTrainingIterations = 5; + + readonly IMTLCommandQueue commandQueue = MTLDevice.SystemDefault!.CreateCommandQueue ()!; + + readonly MnistGraph graph = new (batchSize); + + readonly MnistData data = new (); + + public void Run () + { + MPSCommandBuffer? latestCommandBuffer = null; + for (var i = 0; i < numTrainingIterations; i++) { + latestCommandBuffer = RunTrainingIterationBatch ((i + 1) / (float) numTrainingIterations); + } + } + + MPSCommandBuffer RunTrainingIterationBatch (float progress) + { + var commandBuffer = MPSCommandBuffer.Create (commandQueue); + + var xInput = data.GetRandomTrainingBatch (commandQueue.Device, batchSize, out var yLabels); + var completed = false; + graph.EncodeTrainingBatch (commandBuffer, xInput, yLabels, loss => { + commandBuffer.Dispose (); + completed = true; + }); + + Assert.IsTrue (TestRuntime.RunAsync (DateTime.Now.AddSeconds (30), async () => { + }, () => completed), "Completion"); + + // Don't need to commit since EncodeTrainingBatch oddly does that + return commandBuffer; + } + + void IDisposable.Dispose () + { + graph.Dispose (); + } + } + + public class MnistData { + public const int ImageSize = 28; + public const int NumClasses = 10; + + readonly Random random = new Random (); + + const int ImageMetadataPrefixSize = 16; + + readonly int totalNumberOfTrainImages; + readonly byte [] dataTrainLabel; + readonly byte [] dataTrainImage; + + public MnistData () + { + dataTrainImage = new byte [ImageMetadataPrefixSize + ImageSize*ImageSize]; + dataTrainLabel = new byte [ImageMetadataPrefixSize + 1]; + + totalNumberOfTrainImages = dataTrainLabel.Length - ImageMetadataPrefixSize; + } + + public MPSGraphTensorData GetRandomTrainingBatch (IMTLDevice device, int batchSize, out MPSGraphTensorData labels) + { + var inputVals = new float [batchSize * ImageSize * ImageSize]; + var labelVals = new float [batchSize * NumClasses]; + + for (var batchInd = 0; batchInd < batchSize; batchInd++) { + var randomImageIdx = random.Next (totalNumberOfTrainImages); + + var valueOffset = ImageMetadataPrefixSize + randomImageIdx * ImageSize * ImageSize; + for (var ind = 0; ind < ImageSize * ImageSize; ind++) { + inputVals [batchInd * ImageSize * ImageSize + ind] = dataTrainImage [valueOffset + ind] / 255.0f; + } + + var labelOffset = ImageMetadataPrefixSize + randomImageIdx; + for (int classIdx = 0; classIdx < NumClasses; classIdx++) { + labelVals [batchInd * NumClasses + classIdx] = classIdx == dataTrainLabel [labelOffset] ? 1.0f : 0.0f; + } + } + + labels = MPSGraphTensorData.Create (device, labelVals, batchSize, NumClasses); + return MPSGraphTensorData.Create (device, inputVals, batchSize, ImageSize * ImageSize); + } + } + + public class MnistGraph : MPSGraph + { + const float lambda = 0.01f; + + readonly int imageSize; + readonly int numClasses; + + readonly MPSGraphConvolution2DOpDescriptor convDesc = MPSGraphConvolution2DOpDescriptor.Create ( + strideInX: 1, + strideInY: 1, + dilationRateInX: 1, + dilationRateInY: 1, + groups: 1, + paddingStyle: MPSGraphPaddingStyle.Same, + dataLayout: MPSGraphTensorNamedDataLayout.Nhwc, + weightsLayout: MPSGraphTensorNamedDataLayout.Hwio)!; + + readonly MPSGraphPooling2DOpDescriptor poolDesc = MPSGraphPooling2DOpDescriptor.Create ( + kernelWidth: 2, + kernelHeight: 2, + strideInX: 2, + strideInY: 2, + paddingStyle: MPSGraphPaddingStyle.Same, + dataLayout: MPSGraphTensorNamedDataLayout.Nhwc)!; + + readonly MPSGraphTensor [] trainingTensors; + readonly MPSGraphOperation [] trainingOps; + + readonly MPSGraphTensor sourcePlaceholder; + readonly MPSGraphTensor labelsPlaceholder; + + readonly Random random = new Random (); + readonly Semaphore doubleBufferSemaphore = new Semaphore (2, 2); + + public MnistGraph (int batchSize) + { + this.imageSize = MnistData.ImageSize; + this.numClasses = MnistData.NumClasses; + + Options = MPSGraphOptions.SynchronizeResults;// | MPSGraphOptions.Verbose; + + Console.WriteLine (Options); + + sourcePlaceholder = this.Placeholder (new [] { batchSize, imageSize * imageSize }, null); + labelsPlaceholder = this.Placeholder (new [] { batchSize, numClasses }, null); + + var variables = new List (); + var reshapedInput = this.Reshape (sourcePlaceholder, shape: new [] { batchSize, imageSize, imageSize, 1 }, null); + + var conv0 = AddConvLayer (reshapedInput, weightsShape: new int [4] { 5, 5, 1, 32 }, convDesc, variables); + var pool0 = this.MaxPooling2D (conv0, poolDesc, null); + + var conv1Tensor = AddConvLayer (pool0, weightsShape: new int [4] { 5, 5, 32, 64 }, convDesc, variables); + var pool1Tensor = this.MaxPooling2D (conv1Tensor, poolDesc, null); + + var reshape = this.Reshape (pool1Tensor, new [] { -1, 64 * 7 * 7 }, null); + + var fc0 = AddFullyConnectedLayer (reshape, weightsShape: new int [2] { 7 * 7 * 64, 1024 }, hasActivation: true, variables); + var fc1 = AddFullyConnectedLayer (fc0, weightsShape: new int [2] { 1024, numClasses }, hasActivation: false, variables); + + var softmax = this.SoftMax (fc1, axis: -1, null); + var loss = this.SoftMaxCrossEntropy (fc1, labels: labelsPlaceholder, axis: -1, MPSGraphLossReductionType.Sum, null); + + var batchSizeT = this.Constant ((float) batchSize); + var lossMean = this.Division (loss, batchSizeT, null); + + trainingTensors = new [] { lossMean }; + trainingOps = GetAssignOperations (lossMean, variables); + } + + MPSGraphOperation [] GetAssignOperations (MPSGraphTensor loss, List variables) + { + var grads = this.Gradients (loss, variables.ToArray (), null); + var lambdaT = this.Constant (lambda); + var updateOps = new List (); + foreach (var (k, value) in grads) { + var key = (MPSGraphTensor) k; + var update = this.StochasticGradientDescent (lambdaT, key, (MPSGraphTensor) value, null); + var assign = this.Assign (key, update, null); + updateOps.Add (assign); + } + return updateOps.ToArray (); + } + + MPSGraphTensor AddFullyConnectedLayer (MPSGraphTensor source, int [] weightsShape, bool hasActivation, List variables) + { + var weightCount = 1; + foreach (var length in weightsShape) { + weightCount *= length; + } + var biasCount = weightsShape [1]; + + var weightsValues = GetRandomData (weightCount, -0.2f, 0.2f); + var biasesValues = new float [biasCount]; + Array.Fill (biasesValues, 0.1f); + + var weights = this.Variable (weightsValues, weightsShape); + var biases = this.Variable (biasesValues, new [] { biasCount }); + + var fc = this.MatrixMultiplication (source, weights, null); + var fcBias = this.Addition (fc, biases, null); + + variables.Add (weights); + variables.Add (biases); + + if (!hasActivation) + return fcBias; + + var activation = this.ReLU (fcBias, null); + return activation; + } + + MPSGraphTensor AddConvLayer (MPSGraphTensor source, int [] weightsShape, MPSGraphConvolution2DOpDescriptor desc, List variables) + { + var weightCount = 1; + foreach (var length in weightsShape) { + weightCount *= length; + } + var biasCount = weightsShape [3]; + + var convWeightsValues = GetRandomData (weightCount, -0.2f, 0.2f); + var weights = this.Variable (convWeightsValues, weightsShape); + + var biases = this.Variable (0.1f, new [] { biasCount }); + + var conv = this.Convolution2D (source, weights, desc, null); + var convBias = this.Addition (conv, biases, null); + var activation = this.ReLU (convBias, null); + + variables.Add (weights); + variables.Add (biases); + + return activation; + } + + float [] GetRandomData (int length, float min, float max) + { + var d = max - min; + var r = new float [length]; + for (var i = 0; i < length; i++) { + r [i] = ((float) random.NextDouble () * d) + min; + } + return r; + } + + public MPSGraphTensorData EncodeTrainingBatch (MPSCommandBuffer commandBuffer, MPSGraphTensorData sourceTensorData, MPSGraphTensorData labelsTensorData, Action? completion) + { + doubleBufferSemaphore.WaitOne (); + + var executionDesc = new MPSGraphExecutionDescriptor { + CompletionHandler = (results, error) => { + // This is necessary because there's a weird synchronization issue with + // this callback. I have requested support from Apple about it. + // Same things happens in Swift, so just some bug or mistake in the sample. + Thread.Sleep (5); + + var lossTensorData = results [trainingTensors [0]]; + var loss = new [] { 0.0f }; + lossTensorData.Read (loss); + + doubleBufferSemaphore.Release (); + + if (completion is { } c) { + BeginInvokeOnMainThread (() => c (loss [0])); + } + } + }; + + var feed = NSDictionary.FromObjectsAndKeys ( + new [] { sourceTensorData, labelsTensorData }, + new [] { sourcePlaceholder, labelsPlaceholder }, + 2); + + var fetch = this.Encode (commandBuffer, feed, trainingTensors, trainingOps, executionDesc); + + return fetch [trainingTensors [0]]; + } + } +} +#endif // HAS_METALPERFORMANCESHADERSGRAPH diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-MetalPerformanceShadersGraph.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-MetalPerformanceShadersGraph.todo index b08089f7c6ea..d5eef2d9a18f 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-MetalPerformanceShadersGraph.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-MetalPerformanceShadersGraph.todo @@ -1,463 +1,4 @@ -!missing-enum! MPSGraphDeviceType not bound -!missing-enum! MPSGraphLossReductionType not bound -!missing-enum! MPSGraphOptions not bound -!missing-enum! MPSGraphPaddingMode not bound -!missing-enum! MPSGraphPaddingStyle not bound -!missing-enum! MPSGraphReductionMode not bound -!missing-enum! MPSGraphResizeMode not bound -!missing-enum! MPSGraphScatterMode not bound -!missing-enum! MPSGraphSparseStorageType not bound -!missing-enum! MPSGraphTensorNamedDataLayout not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphCreateSparseOpDescriptor::descriptorWithStorageType:dataType: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithDataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithStrides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphDevice::deviceWithMTLDevice: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:paddingStyle: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:strides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithExplicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithOffsets:explicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithReductionMode:offsets:strides:dilationRates:explicitPadding:boundaryMode:paddingStyle:paddingConstant: not bound -!missing-selector! MPSGraph::L2NormPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::L2NormPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::absoluteWithTensor:name: not bound -!missing-selector! MPSGraph::acosWithTensor:name: not bound -!missing-selector! MPSGraph::acoshWithTensor:name: not bound -!missing-selector! MPSGraph::additionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::applyStochasticGradientDescentWithLearningRateTensor:variable:gradientTensor:name: not bound -!missing-selector! MPSGraph::asinWithTensor:name: not bound -!missing-selector! MPSGraph::asinhWithTensor:name: not bound -!missing-selector! MPSGraph::assignVariable:withValueOfTensor:name: not bound -!missing-selector! MPSGraph::atan2WithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::atanWithTensor:name: not bound -!missing-selector! MPSGraph::atanhWithTensor:name: not bound -!missing-selector! MPSGraph::avgPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::ceilWithTensor:name: not bound -!missing-selector! MPSGraph::clampWithTensor:minValueTensor:maxValueTensor:name: not bound -!missing-selector! MPSGraph::compileWithDevice:feeds:targetTensors:targetOperations:compilationDescriptor: not bound -!missing-selector! MPSGraph::concatTensor:withTensor:dimension:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:interleave:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:name: not bound -!missing-selector! MPSGraph::constantWithData:shape:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:shape:dataType: not bound -!missing-selector! MPSGraph::controlDependencyWithOperations:dependentBlock:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::cosWithTensor:name: not bound -!missing-selector! MPSGraph::coshWithTensor:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::divisionNoNaNWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::divisionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rate:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rateTensor:name: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::equalWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::erfWithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase10WithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase2WithTensor:name: not bound -!missing-selector! MPSGraph::exponentWithTensor:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axis:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axisTensor:name: not bound -!missing-selector! MPSGraph::floorModuloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::floorWithTensor:name: not bound -!missing-selector! MPSGraph::forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::forLoopWithNumberOfIterations:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::gatherNDWithUpdatesTensor:indicesTensor:batchDimensions:name: not bound -!missing-selector! MPSGraph::gatherWithUpdatesTensor:indicesTensor:axis:batchDimensions:name: not bound -!missing-selector! MPSGraph::gradientForPrimaryTensor:withTensors:name: not bound -!missing-selector! MPSGraph::greaterThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::greaterThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::identityWithTensor:name: not bound -!missing-selector! MPSGraph::ifWithPredicateTensor:thenBlock:elseBlock:name: not bound -!missing-selector! MPSGraph::init not bound -!missing-selector! MPSGraph::isFiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isInfiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isNaNWithTensor:name: not bound -!missing-selector! MPSGraph::lessThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::lessThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase10WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase2WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmWithTensor:name: not bound -!missing-selector! MPSGraph::logicalANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::matrixMultiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maxPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maximumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maximumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::meanOfTensor:axes:name: not bound -!missing-selector! MPSGraph::minimumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::minimumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::moduloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::multiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::negativeWithTensor:name: not bound -!missing-selector! MPSGraph::normalizationBetaGradientWithIncomingGradientTensor:sourceTensor:reductionAxes:name: not bound -!missing-selector! MPSGraph::normalizationGammaGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:gammaTensor:gammaGradientTensor:betaGradientTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationWithTensor:meanTensor:varianceTensor:gammaTensor:betaTensor:epsilon:name: not bound -!missing-selector! MPSGraph::notEqualWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::notWithTensor:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:name: not bound -!missing-selector! MPSGraph::options not bound -!missing-selector! MPSGraph::padGradientWithIncomingGradientTensor:sourceTensor:paddingMode:leftPadding:rightPadding:name: not bound -!missing-selector! MPSGraph::padTensor:withPaddingMode:leftPadding:rightPadding:constantValue:name: not bound -!missing-selector! MPSGraph::placeholderTensors not bound -!missing-selector! MPSGraph::placeholderWithShape:dataType:name: not bound -!missing-selector! MPSGraph::placeholderWithShape:name: not bound -!missing-selector! MPSGraph::powerWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::reLUGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::reLUWithTensor:name: not bound -!missing-selector! MPSGraph::readVariable:name: not bound -!missing-selector! MPSGraph::reciprocalWithTensor:name: not bound -!missing-selector! MPSGraph::reductionArgMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionArgMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShape:name: not bound -!missing-selector! MPSGraph::resizeTensor:size:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::reverseSquareRootWithTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:axes:name: not bound -!missing-selector! MPSGraph::reverseTensor:axesTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:name: not bound -!missing-selector! MPSGraph::rintWithTensor:name: not bound -!missing-selector! MPSGraph::roundWithTensor:name: not bound -!missing-selector! MPSGraph::runAsyncWithFeeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runWithFeeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetOperations:resultsDictionary: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:name: not bound -!missing-selector! MPSGraph::selectWithPredicateTensor:truePredicateTensor:falsePredicateTensor:name: not bound -!missing-selector! MPSGraph::setOptions: not bound -!missing-selector! MPSGraph::sigmoidGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::sigmoidWithTensor:name: not bound -!missing-selector! MPSGraph::signWithTensor:name: not bound -!missing-selector! MPSGraph::signbitWithTensor:name: not bound -!missing-selector! MPSGraph::sinWithTensor:name: not bound -!missing-selector! MPSGraph::sinhWithTensor:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::sliceTensor:dimension:start:length:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyGradientWithIncomingGradientTensor:sourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyWithSourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxGradientWithIncomingGradient:sourceTensor:axis:name: not bound -!missing-selector! MPSGraph::softMaxWithTensor:axis:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::sparseTensorWithDescriptor:tensors:shape:name: not bound -!missing-selector! MPSGraph::sparseTensorWithType:tensors:shape:dataType:name: not bound -!missing-selector! MPSGraph::squareRootWithTensor:name: not bound -!missing-selector! MPSGraph::squareWithTensor:name: not bound -!missing-selector! MPSGraph::stencilWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::stochasticGradientDescentWithLearningRateTensor:valuesTensor:gradientTensor:name: not bound -!missing-selector! MPSGraph::subtractionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::tanWithTensor:name: not bound -!missing-selector! MPSGraph::tanhWithTensor:name: not bound -!missing-selector! MPSGraph::tileGradientWithIncomingGradientTensor:sourceTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::tileTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::transposeTensor:dimension:withDimension:name: not bound -!missing-selector! MPSGraph::variableWithData:shape:dataType:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:axes:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:meanTensor:axes:name: not bound -!missing-selector! MPSGraph::whileWithInitialInputs:before:after:name: not bound -!missing-selector! MPSGraphCompilationDescriptor::disableTypeInference not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::groups not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setGroups: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::dataType not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setSparseStorageType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::sparseStorageType not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::channelDimensionIndex not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setChannelDimensionIndex: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::strides not bound -!missing-selector! MPSGraphDevice::metalDevice not bound -!missing-selector! MPSGraphDevice::type not bound -!missing-selector! MPSGraphExecutable::encodeToCommandBuffer:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::feedTensors not bound -!missing-selector! MPSGraphExecutable::options not bound -!missing-selector! MPSGraphExecutable::runAsyncWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::runWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::setOptions: not bound -!missing-selector! MPSGraphExecutable::specializeWithDevice:inputTypes:compilationDescriptor: not bound -!missing-selector! MPSGraphExecutable::targetTensors not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphOperation::controlDependencies not bound -!missing-selector! MPSGraphOperation::graph not bound -!missing-selector! MPSGraphOperation::inputTensors not bound -!missing-selector! MPSGraphOperation::name not bound -!missing-selector! MPSGraphOperation::outputTensors not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelHeight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelWidth not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelHeight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelWidth: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::kernelSizes not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setKernelSizes: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::strides not bound -!missing-selector! MPSGraphShapedType::dataType not bound -!missing-selector! MPSGraphShapedType::initWithShape:dataType: not bound -!missing-selector! MPSGraphShapedType::isEqualTo: not bound -!missing-selector! MPSGraphShapedType::setDataType: not bound -!missing-selector! MPSGraphShapedType::setShape: not bound -!missing-selector! MPSGraphShapedType::shape not bound -!missing-selector! MPSGraphStencilOpDescriptor::boundaryMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphStencilOpDescriptor::explicitPadding not bound -!missing-selector! MPSGraphStencilOpDescriptor::offsets not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingConstant not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphStencilOpDescriptor::reductionMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::setBoundaryMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setExplicitPadding: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setOffsets: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingConstant: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setReductionMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphStencilOpDescriptor::strides not bound -!missing-selector! MPSGraphTensor::dataType not bound -!missing-selector! MPSGraphTensor::operation not bound -!missing-selector! MPSGraphTensor::shape not bound -!missing-selector! MPSGraphTensorData::dataType not bound -!missing-selector! MPSGraphTensorData::device not bound -!missing-selector! MPSGraphTensorData::initWithDevice:data:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::initWithMPSImageBatch: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMPSNDArray: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMTLBuffer:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::mpsndarray not bound -!missing-selector! MPSGraphTensorData::shape not bound -!missing-selector! MPSGraphVariableOp::dataType not bound -!missing-selector! MPSGraphVariableOp::shape not bound -!missing-type! MPSGraph not bound -!missing-type! MPSGraphCompilationDescriptor not bound -!missing-type! MPSGraphConvolution2DOpDescriptor not bound -!missing-type! MPSGraphCreateSparseOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution2DOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution3DOpDescriptor not bound -!missing-type! MPSGraphDevice not bound -!missing-type! MPSGraphExecutable not bound -!missing-type! MPSGraphExecutableExecutionDescriptor not bound -!missing-type! MPSGraphExecutionDescriptor not bound -!missing-type! MPSGraphOperation not bound -!missing-type! MPSGraphPooling2DOpDescriptor not bound -!missing-type! MPSGraphPooling4DOpDescriptor not bound -!missing-type! MPSGraphShapedType not bound -!missing-type! MPSGraphStencilOpDescriptor not bound -!missing-type! MPSGraphTensor not bound -!missing-type! MPSGraphTensorData not bound -!missing-type! MPSGraphType not bound -!missing-type! MPSGraphVariableOp not bound ## appended from unclassified file -## appended from unclassified file -!missing-selector! MPSGraph::broadcastTensor:toShape:name: not bound -!missing-selector! MPSGraph::broadcastTensor:toShapeTensor:name: not bound -!missing-selector! MPSGraph::castTensor:toType:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::leakyReLUGradientWithIncomingGradient:sourceTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alpha:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShapeTensor:name: not bound -!missing-selector! MPSGraph::resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::scatterNDWithDataTensor:updatesTensor:indicesTensor:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterWithDataTensor:updatesTensor:indicesTensor:axis:mode:name: not bound -!missing-selector! MPSGraph::scatterWithUpdatesTensor:indicesTensor:shape:axis:mode:name: not bound -!missing-selector! MPSGraph::shapeOfTensor:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:k:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:kTensor:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:k:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:kTensor:name: not bound -!missing-enum! MPSGraphRandomDistribution not bound -!missing-enum! MPSGraphRandomNormalSamplingMethod not bound -!missing-selector! +MPSGraphRandomOpDescriptor::descriptorWithDistribution:dataType: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithCounterLow:counterHigh:key:name: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithSeed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:stateTensor:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraphRandomOpDescriptor::dataType not bound -!missing-selector! MPSGraphRandomOpDescriptor::distribution not bound -!missing-selector! MPSGraphRandomOpDescriptor::max not bound -!missing-selector! MPSGraphRandomOpDescriptor::maxInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::mean not bound -!missing-selector! MPSGraphRandomOpDescriptor::min not bound -!missing-selector! MPSGraphRandomOpDescriptor::minInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::samplingMethod not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDistribution: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMax: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMaxInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMean: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMin: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMinInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setSamplingMethod: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setStandardDeviation: not bound -!missing-selector! MPSGraphRandomOpDescriptor::standardDeviation not bound -!missing-type! MPSGraphRandomOpDescriptor not bound !missing-enum! MPSGraphOptimization not bound !missing-enum! MPSGraphOptimizationProfile not bound !missing-enum! MPSGraphPoolingReturnIndicesMode not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-MetalPerformanceShadersGraph.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-MetalPerformanceShadersGraph.todo index b08089f7c6ea..d5eef2d9a18f 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-MetalPerformanceShadersGraph.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/iOS-MetalPerformanceShadersGraph.todo @@ -1,463 +1,4 @@ -!missing-enum! MPSGraphDeviceType not bound -!missing-enum! MPSGraphLossReductionType not bound -!missing-enum! MPSGraphOptions not bound -!missing-enum! MPSGraphPaddingMode not bound -!missing-enum! MPSGraphPaddingStyle not bound -!missing-enum! MPSGraphReductionMode not bound -!missing-enum! MPSGraphResizeMode not bound -!missing-enum! MPSGraphScatterMode not bound -!missing-enum! MPSGraphSparseStorageType not bound -!missing-enum! MPSGraphTensorNamedDataLayout not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphCreateSparseOpDescriptor::descriptorWithStorageType:dataType: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithDataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithStrides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphDevice::deviceWithMTLDevice: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:paddingStyle: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:strides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithExplicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithOffsets:explicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithReductionMode:offsets:strides:dilationRates:explicitPadding:boundaryMode:paddingStyle:paddingConstant: not bound -!missing-selector! MPSGraph::L2NormPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::L2NormPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::absoluteWithTensor:name: not bound -!missing-selector! MPSGraph::acosWithTensor:name: not bound -!missing-selector! MPSGraph::acoshWithTensor:name: not bound -!missing-selector! MPSGraph::additionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::applyStochasticGradientDescentWithLearningRateTensor:variable:gradientTensor:name: not bound -!missing-selector! MPSGraph::asinWithTensor:name: not bound -!missing-selector! MPSGraph::asinhWithTensor:name: not bound -!missing-selector! MPSGraph::assignVariable:withValueOfTensor:name: not bound -!missing-selector! MPSGraph::atan2WithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::atanWithTensor:name: not bound -!missing-selector! MPSGraph::atanhWithTensor:name: not bound -!missing-selector! MPSGraph::avgPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::ceilWithTensor:name: not bound -!missing-selector! MPSGraph::clampWithTensor:minValueTensor:maxValueTensor:name: not bound -!missing-selector! MPSGraph::compileWithDevice:feeds:targetTensors:targetOperations:compilationDescriptor: not bound -!missing-selector! MPSGraph::concatTensor:withTensor:dimension:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:interleave:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:name: not bound -!missing-selector! MPSGraph::constantWithData:shape:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:shape:dataType: not bound -!missing-selector! MPSGraph::controlDependencyWithOperations:dependentBlock:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::cosWithTensor:name: not bound -!missing-selector! MPSGraph::coshWithTensor:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::divisionNoNaNWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::divisionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rate:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rateTensor:name: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::equalWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::erfWithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase10WithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase2WithTensor:name: not bound -!missing-selector! MPSGraph::exponentWithTensor:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axis:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axisTensor:name: not bound -!missing-selector! MPSGraph::floorModuloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::floorWithTensor:name: not bound -!missing-selector! MPSGraph::forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::forLoopWithNumberOfIterations:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::gatherNDWithUpdatesTensor:indicesTensor:batchDimensions:name: not bound -!missing-selector! MPSGraph::gatherWithUpdatesTensor:indicesTensor:axis:batchDimensions:name: not bound -!missing-selector! MPSGraph::gradientForPrimaryTensor:withTensors:name: not bound -!missing-selector! MPSGraph::greaterThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::greaterThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::identityWithTensor:name: not bound -!missing-selector! MPSGraph::ifWithPredicateTensor:thenBlock:elseBlock:name: not bound -!missing-selector! MPSGraph::init not bound -!missing-selector! MPSGraph::isFiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isInfiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isNaNWithTensor:name: not bound -!missing-selector! MPSGraph::lessThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::lessThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase10WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase2WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmWithTensor:name: not bound -!missing-selector! MPSGraph::logicalANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::matrixMultiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maxPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maximumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maximumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::meanOfTensor:axes:name: not bound -!missing-selector! MPSGraph::minimumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::minimumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::moduloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::multiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::negativeWithTensor:name: not bound -!missing-selector! MPSGraph::normalizationBetaGradientWithIncomingGradientTensor:sourceTensor:reductionAxes:name: not bound -!missing-selector! MPSGraph::normalizationGammaGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:gammaTensor:gammaGradientTensor:betaGradientTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationWithTensor:meanTensor:varianceTensor:gammaTensor:betaTensor:epsilon:name: not bound -!missing-selector! MPSGraph::notEqualWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::notWithTensor:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:name: not bound -!missing-selector! MPSGraph::options not bound -!missing-selector! MPSGraph::padGradientWithIncomingGradientTensor:sourceTensor:paddingMode:leftPadding:rightPadding:name: not bound -!missing-selector! MPSGraph::padTensor:withPaddingMode:leftPadding:rightPadding:constantValue:name: not bound -!missing-selector! MPSGraph::placeholderTensors not bound -!missing-selector! MPSGraph::placeholderWithShape:dataType:name: not bound -!missing-selector! MPSGraph::placeholderWithShape:name: not bound -!missing-selector! MPSGraph::powerWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::reLUGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::reLUWithTensor:name: not bound -!missing-selector! MPSGraph::readVariable:name: not bound -!missing-selector! MPSGraph::reciprocalWithTensor:name: not bound -!missing-selector! MPSGraph::reductionArgMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionArgMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShape:name: not bound -!missing-selector! MPSGraph::resizeTensor:size:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::reverseSquareRootWithTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:axes:name: not bound -!missing-selector! MPSGraph::reverseTensor:axesTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:name: not bound -!missing-selector! MPSGraph::rintWithTensor:name: not bound -!missing-selector! MPSGraph::roundWithTensor:name: not bound -!missing-selector! MPSGraph::runAsyncWithFeeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runWithFeeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetOperations:resultsDictionary: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:name: not bound -!missing-selector! MPSGraph::selectWithPredicateTensor:truePredicateTensor:falsePredicateTensor:name: not bound -!missing-selector! MPSGraph::setOptions: not bound -!missing-selector! MPSGraph::sigmoidGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::sigmoidWithTensor:name: not bound -!missing-selector! MPSGraph::signWithTensor:name: not bound -!missing-selector! MPSGraph::signbitWithTensor:name: not bound -!missing-selector! MPSGraph::sinWithTensor:name: not bound -!missing-selector! MPSGraph::sinhWithTensor:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::sliceTensor:dimension:start:length:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyGradientWithIncomingGradientTensor:sourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyWithSourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxGradientWithIncomingGradient:sourceTensor:axis:name: not bound -!missing-selector! MPSGraph::softMaxWithTensor:axis:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::sparseTensorWithDescriptor:tensors:shape:name: not bound -!missing-selector! MPSGraph::sparseTensorWithType:tensors:shape:dataType:name: not bound -!missing-selector! MPSGraph::squareRootWithTensor:name: not bound -!missing-selector! MPSGraph::squareWithTensor:name: not bound -!missing-selector! MPSGraph::stencilWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::stochasticGradientDescentWithLearningRateTensor:valuesTensor:gradientTensor:name: not bound -!missing-selector! MPSGraph::subtractionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::tanWithTensor:name: not bound -!missing-selector! MPSGraph::tanhWithTensor:name: not bound -!missing-selector! MPSGraph::tileGradientWithIncomingGradientTensor:sourceTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::tileTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::transposeTensor:dimension:withDimension:name: not bound -!missing-selector! MPSGraph::variableWithData:shape:dataType:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:axes:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:meanTensor:axes:name: not bound -!missing-selector! MPSGraph::whileWithInitialInputs:before:after:name: not bound -!missing-selector! MPSGraphCompilationDescriptor::disableTypeInference not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::groups not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setGroups: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::dataType not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setSparseStorageType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::sparseStorageType not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::channelDimensionIndex not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setChannelDimensionIndex: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::strides not bound -!missing-selector! MPSGraphDevice::metalDevice not bound -!missing-selector! MPSGraphDevice::type not bound -!missing-selector! MPSGraphExecutable::encodeToCommandBuffer:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::feedTensors not bound -!missing-selector! MPSGraphExecutable::options not bound -!missing-selector! MPSGraphExecutable::runAsyncWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::runWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::setOptions: not bound -!missing-selector! MPSGraphExecutable::specializeWithDevice:inputTypes:compilationDescriptor: not bound -!missing-selector! MPSGraphExecutable::targetTensors not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphOperation::controlDependencies not bound -!missing-selector! MPSGraphOperation::graph not bound -!missing-selector! MPSGraphOperation::inputTensors not bound -!missing-selector! MPSGraphOperation::name not bound -!missing-selector! MPSGraphOperation::outputTensors not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelHeight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelWidth not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelHeight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelWidth: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::kernelSizes not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setKernelSizes: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::strides not bound -!missing-selector! MPSGraphShapedType::dataType not bound -!missing-selector! MPSGraphShapedType::initWithShape:dataType: not bound -!missing-selector! MPSGraphShapedType::isEqualTo: not bound -!missing-selector! MPSGraphShapedType::setDataType: not bound -!missing-selector! MPSGraphShapedType::setShape: not bound -!missing-selector! MPSGraphShapedType::shape not bound -!missing-selector! MPSGraphStencilOpDescriptor::boundaryMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphStencilOpDescriptor::explicitPadding not bound -!missing-selector! MPSGraphStencilOpDescriptor::offsets not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingConstant not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphStencilOpDescriptor::reductionMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::setBoundaryMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setExplicitPadding: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setOffsets: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingConstant: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setReductionMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphStencilOpDescriptor::strides not bound -!missing-selector! MPSGraphTensor::dataType not bound -!missing-selector! MPSGraphTensor::operation not bound -!missing-selector! MPSGraphTensor::shape not bound -!missing-selector! MPSGraphTensorData::dataType not bound -!missing-selector! MPSGraphTensorData::device not bound -!missing-selector! MPSGraphTensorData::initWithDevice:data:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::initWithMPSImageBatch: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMPSNDArray: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMTLBuffer:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::mpsndarray not bound -!missing-selector! MPSGraphTensorData::shape not bound -!missing-selector! MPSGraphVariableOp::dataType not bound -!missing-selector! MPSGraphVariableOp::shape not bound -!missing-type! MPSGraph not bound -!missing-type! MPSGraphCompilationDescriptor not bound -!missing-type! MPSGraphConvolution2DOpDescriptor not bound -!missing-type! MPSGraphCreateSparseOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution2DOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution3DOpDescriptor not bound -!missing-type! MPSGraphDevice not bound -!missing-type! MPSGraphExecutable not bound -!missing-type! MPSGraphExecutableExecutionDescriptor not bound -!missing-type! MPSGraphExecutionDescriptor not bound -!missing-type! MPSGraphOperation not bound -!missing-type! MPSGraphPooling2DOpDescriptor not bound -!missing-type! MPSGraphPooling4DOpDescriptor not bound -!missing-type! MPSGraphShapedType not bound -!missing-type! MPSGraphStencilOpDescriptor not bound -!missing-type! MPSGraphTensor not bound -!missing-type! MPSGraphTensorData not bound -!missing-type! MPSGraphType not bound -!missing-type! MPSGraphVariableOp not bound ## appended from unclassified file -## appended from unclassified file -!missing-selector! MPSGraph::broadcastTensor:toShape:name: not bound -!missing-selector! MPSGraph::broadcastTensor:toShapeTensor:name: not bound -!missing-selector! MPSGraph::castTensor:toType:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::leakyReLUGradientWithIncomingGradient:sourceTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alpha:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShapeTensor:name: not bound -!missing-selector! MPSGraph::resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::scatterNDWithDataTensor:updatesTensor:indicesTensor:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterWithDataTensor:updatesTensor:indicesTensor:axis:mode:name: not bound -!missing-selector! MPSGraph::scatterWithUpdatesTensor:indicesTensor:shape:axis:mode:name: not bound -!missing-selector! MPSGraph::shapeOfTensor:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:k:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:kTensor:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:k:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:kTensor:name: not bound -!missing-enum! MPSGraphRandomDistribution not bound -!missing-enum! MPSGraphRandomNormalSamplingMethod not bound -!missing-selector! +MPSGraphRandomOpDescriptor::descriptorWithDistribution:dataType: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithCounterLow:counterHigh:key:name: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithSeed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:stateTensor:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraphRandomOpDescriptor::dataType not bound -!missing-selector! MPSGraphRandomOpDescriptor::distribution not bound -!missing-selector! MPSGraphRandomOpDescriptor::max not bound -!missing-selector! MPSGraphRandomOpDescriptor::maxInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::mean not bound -!missing-selector! MPSGraphRandomOpDescriptor::min not bound -!missing-selector! MPSGraphRandomOpDescriptor::minInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::samplingMethod not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDistribution: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMax: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMaxInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMean: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMin: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMinInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setSamplingMethod: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setStandardDeviation: not bound -!missing-selector! MPSGraphRandomOpDescriptor::standardDeviation not bound -!missing-type! MPSGraphRandomOpDescriptor not bound !missing-enum! MPSGraphOptimization not bound !missing-enum! MPSGraphOptimizationProfile not bound !missing-enum! MPSGraphPoolingReturnIndicesMode not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-MetalPerformanceShadersGraph.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-MetalPerformanceShadersGraph.todo index 01e28bdcc2a0..d5eef2d9a18f 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-MetalPerformanceShadersGraph.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/macOS-MetalPerformanceShadersGraph.todo @@ -1,464 +1,4 @@ -!missing-enum! MPSGraphDeviceType not bound -!missing-enum! MPSGraphLossReductionType not bound -!missing-enum! MPSGraphOptions not bound -!missing-enum! MPSGraphPaddingMode not bound -!missing-enum! MPSGraphPaddingStyle not bound -!missing-enum! MPSGraphReductionMode not bound -!missing-enum! MPSGraphResizeMode not bound -!missing-enum! MPSGraphScatterMode not bound -!missing-enum! MPSGraphSparseStorageType not bound -!missing-enum! MPSGraphTensorNamedDataLayout not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphCreateSparseOpDescriptor::descriptorWithStorageType:dataType: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithDataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithStrides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphDevice::deviceWithMTLDevice: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:paddingStyle: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:strides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithExplicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithOffsets:explicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithReductionMode:offsets:strides:dilationRates:explicitPadding:boundaryMode:paddingStyle:paddingConstant: not bound -!missing-selector! MPSGraph::L2NormPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::L2NormPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::absoluteWithTensor:name: not bound -!missing-selector! MPSGraph::acosWithTensor:name: not bound -!missing-selector! MPSGraph::acoshWithTensor:name: not bound -!missing-selector! MPSGraph::additionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::applyStochasticGradientDescentWithLearningRateTensor:variable:gradientTensor:name: not bound -!missing-selector! MPSGraph::asinWithTensor:name: not bound -!missing-selector! MPSGraph::asinhWithTensor:name: not bound -!missing-selector! MPSGraph::assignVariable:withValueOfTensor:name: not bound -!missing-selector! MPSGraph::atan2WithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::atanWithTensor:name: not bound -!missing-selector! MPSGraph::atanhWithTensor:name: not bound -!missing-selector! MPSGraph::avgPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::ceilWithTensor:name: not bound -!missing-selector! MPSGraph::clampWithTensor:minValueTensor:maxValueTensor:name: not bound -!missing-selector! MPSGraph::compileWithDevice:feeds:targetTensors:targetOperations:compilationDescriptor: not bound -!missing-selector! MPSGraph::concatTensor:withTensor:dimension:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:interleave:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:name: not bound -!missing-selector! MPSGraph::constantWithData:shape:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:shape:dataType: not bound -!missing-selector! MPSGraph::controlDependencyWithOperations:dependentBlock:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::cosWithTensor:name: not bound -!missing-selector! MPSGraph::coshWithTensor:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::divisionNoNaNWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::divisionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rate:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rateTensor:name: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::equalWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::erfWithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase10WithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase2WithTensor:name: not bound -!missing-selector! MPSGraph::exponentWithTensor:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axis:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axisTensor:name: not bound -!missing-selector! MPSGraph::floorModuloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::floorWithTensor:name: not bound -!missing-selector! MPSGraph::forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::forLoopWithNumberOfIterations:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::gatherNDWithUpdatesTensor:indicesTensor:batchDimensions:name: not bound -!missing-selector! MPSGraph::gatherWithUpdatesTensor:indicesTensor:axis:batchDimensions:name: not bound -!missing-selector! MPSGraph::gradientForPrimaryTensor:withTensors:name: not bound -!missing-selector! MPSGraph::greaterThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::greaterThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::identityWithTensor:name: not bound -!missing-selector! MPSGraph::ifWithPredicateTensor:thenBlock:elseBlock:name: not bound -!missing-selector! MPSGraph::init not bound -!missing-selector! MPSGraph::isFiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isInfiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isNaNWithTensor:name: not bound -!missing-selector! MPSGraph::lessThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::lessThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase10WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase2WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmWithTensor:name: not bound -!missing-selector! MPSGraph::logicalANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::matrixMultiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maxPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maximumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maximumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::meanOfTensor:axes:name: not bound -!missing-selector! MPSGraph::minimumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::minimumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::moduloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::multiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::negativeWithTensor:name: not bound -!missing-selector! MPSGraph::normalizationBetaGradientWithIncomingGradientTensor:sourceTensor:reductionAxes:name: not bound -!missing-selector! MPSGraph::normalizationGammaGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:gammaTensor:gammaGradientTensor:betaGradientTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationWithTensor:meanTensor:varianceTensor:gammaTensor:betaTensor:epsilon:name: not bound -!missing-selector! MPSGraph::notEqualWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::notWithTensor:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:name: not bound -!missing-selector! MPSGraph::options not bound -!missing-selector! MPSGraph::padGradientWithIncomingGradientTensor:sourceTensor:paddingMode:leftPadding:rightPadding:name: not bound -!missing-selector! MPSGraph::padTensor:withPaddingMode:leftPadding:rightPadding:constantValue:name: not bound -!missing-selector! MPSGraph::placeholderTensors not bound -!missing-selector! MPSGraph::placeholderWithShape:dataType:name: not bound -!missing-selector! MPSGraph::placeholderWithShape:name: not bound -!missing-selector! MPSGraph::powerWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::reLUGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::reLUWithTensor:name: not bound -!missing-selector! MPSGraph::readVariable:name: not bound -!missing-selector! MPSGraph::reciprocalWithTensor:name: not bound -!missing-selector! MPSGraph::reductionArgMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionArgMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShape:name: not bound -!missing-selector! MPSGraph::resizeTensor:size:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::reverseSquareRootWithTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:axes:name: not bound -!missing-selector! MPSGraph::reverseTensor:axesTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:name: not bound -!missing-selector! MPSGraph::rintWithTensor:name: not bound -!missing-selector! MPSGraph::roundWithTensor:name: not bound -!missing-selector! MPSGraph::runAsyncWithFeeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runWithFeeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetOperations:resultsDictionary: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:name: not bound -!missing-selector! MPSGraph::selectWithPredicateTensor:truePredicateTensor:falsePredicateTensor:name: not bound -!missing-selector! MPSGraph::setOptions: not bound -!missing-selector! MPSGraph::sigmoidGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::sigmoidWithTensor:name: not bound -!missing-selector! MPSGraph::signWithTensor:name: not bound -!missing-selector! MPSGraph::signbitWithTensor:name: not bound -!missing-selector! MPSGraph::sinWithTensor:name: not bound -!missing-selector! MPSGraph::sinhWithTensor:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::sliceTensor:dimension:start:length:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyGradientWithIncomingGradientTensor:sourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyWithSourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxGradientWithIncomingGradient:sourceTensor:axis:name: not bound -!missing-selector! MPSGraph::softMaxWithTensor:axis:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::sparseTensorWithDescriptor:tensors:shape:name: not bound -!missing-selector! MPSGraph::sparseTensorWithType:tensors:shape:dataType:name: not bound -!missing-selector! MPSGraph::squareRootWithTensor:name: not bound -!missing-selector! MPSGraph::squareWithTensor:name: not bound -!missing-selector! MPSGraph::stencilWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::stochasticGradientDescentWithLearningRateTensor:valuesTensor:gradientTensor:name: not bound -!missing-selector! MPSGraph::subtractionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::tanWithTensor:name: not bound -!missing-selector! MPSGraph::tanhWithTensor:name: not bound -!missing-selector! MPSGraph::tileGradientWithIncomingGradientTensor:sourceTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::tileTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::transposeTensor:dimension:withDimension:name: not bound -!missing-selector! MPSGraph::variableWithData:shape:dataType:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:axes:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:meanTensor:axes:name: not bound -!missing-selector! MPSGraph::whileWithInitialInputs:before:after:name: not bound -!missing-selector! MPSGraphCompilationDescriptor::disableTypeInference not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::groups not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setGroups: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::dataType not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setSparseStorageType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::sparseStorageType not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::channelDimensionIndex not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setChannelDimensionIndex: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::strides not bound -!missing-selector! MPSGraphDevice::metalDevice not bound -!missing-selector! MPSGraphDevice::type not bound -!missing-selector! MPSGraphExecutable::encodeToCommandBuffer:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::feedTensors not bound -!missing-selector! MPSGraphExecutable::options not bound -!missing-selector! MPSGraphExecutable::runAsyncWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::runWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::setOptions: not bound -!missing-selector! MPSGraphExecutable::specializeWithDevice:inputTypes:compilationDescriptor: not bound -!missing-selector! MPSGraphExecutable::targetTensors not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphOperation::controlDependencies not bound -!missing-selector! MPSGraphOperation::graph not bound -!missing-selector! MPSGraphOperation::inputTensors not bound -!missing-selector! MPSGraphOperation::name not bound -!missing-selector! MPSGraphOperation::outputTensors not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelHeight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelWidth not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelHeight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelWidth: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::kernelSizes not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setKernelSizes: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::strides not bound -!missing-selector! MPSGraphShapedType::dataType not bound -!missing-selector! MPSGraphShapedType::initWithShape:dataType: not bound -!missing-selector! MPSGraphShapedType::isEqualTo: not bound -!missing-selector! MPSGraphShapedType::setDataType: not bound -!missing-selector! MPSGraphShapedType::setShape: not bound -!missing-selector! MPSGraphShapedType::shape not bound -!missing-selector! MPSGraphStencilOpDescriptor::boundaryMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphStencilOpDescriptor::explicitPadding not bound -!missing-selector! MPSGraphStencilOpDescriptor::offsets not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingConstant not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphStencilOpDescriptor::reductionMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::setBoundaryMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setExplicitPadding: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setOffsets: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingConstant: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setReductionMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphStencilOpDescriptor::strides not bound -!missing-selector! MPSGraphTensor::dataType not bound -!missing-selector! MPSGraphTensor::operation not bound -!missing-selector! MPSGraphTensor::shape not bound -!missing-selector! MPSGraphTensorData::dataType not bound -!missing-selector! MPSGraphTensorData::device not bound -!missing-selector! MPSGraphTensorData::initWithDevice:data:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::initWithMPSImageBatch: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMPSNDArray: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMTLBuffer:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::mpsndarray not bound -!missing-selector! MPSGraphTensorData::shape not bound -!missing-selector! MPSGraphVariableOp::dataType not bound -!missing-selector! MPSGraphVariableOp::shape not bound -!missing-type! MPSGraph not bound -!missing-type! MPSGraphCompilationDescriptor not bound -!missing-type! MPSGraphConvolution2DOpDescriptor not bound -!missing-type! MPSGraphCreateSparseOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution2DOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution3DOpDescriptor not bound -!missing-type! MPSGraphDevice not bound -!missing-type! MPSGraphExecutable not bound -!missing-type! MPSGraphExecutableExecutionDescriptor not bound -!missing-type! MPSGraphExecutionDescriptor not bound -!missing-type! MPSGraphOperation not bound -!missing-type! MPSGraphPooling2DOpDescriptor not bound -!missing-type! MPSGraphPooling4DOpDescriptor not bound -!missing-type! MPSGraphShapedType not bound -!missing-type! MPSGraphStencilOpDescriptor not bound -!missing-type! MPSGraphTensor not bound -!missing-type! MPSGraphTensorData not bound -!missing-type! MPSGraphType not bound -!missing-type! MPSGraphVariableOp not bound ## appended from unclassified file -## appended from unclassified file -## appended from unclassified file -!missing-selector! MPSGraph::broadcastTensor:toShape:name: not bound -!missing-selector! MPSGraph::broadcastTensor:toShapeTensor:name: not bound -!missing-selector! MPSGraph::castTensor:toType:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::leakyReLUGradientWithIncomingGradient:sourceTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alpha:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShapeTensor:name: not bound -!missing-selector! MPSGraph::resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::scatterNDWithDataTensor:updatesTensor:indicesTensor:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterWithDataTensor:updatesTensor:indicesTensor:axis:mode:name: not bound -!missing-selector! MPSGraph::scatterWithUpdatesTensor:indicesTensor:shape:axis:mode:name: not bound -!missing-selector! MPSGraph::shapeOfTensor:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:k:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:kTensor:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:k:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:kTensor:name: not bound -!missing-enum! MPSGraphRandomDistribution not bound -!missing-enum! MPSGraphRandomNormalSamplingMethod not bound -!missing-selector! +MPSGraphRandomOpDescriptor::descriptorWithDistribution:dataType: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithCounterLow:counterHigh:key:name: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithSeed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:stateTensor:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraphRandomOpDescriptor::dataType not bound -!missing-selector! MPSGraphRandomOpDescriptor::distribution not bound -!missing-selector! MPSGraphRandomOpDescriptor::max not bound -!missing-selector! MPSGraphRandomOpDescriptor::maxInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::mean not bound -!missing-selector! MPSGraphRandomOpDescriptor::min not bound -!missing-selector! MPSGraphRandomOpDescriptor::minInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::samplingMethod not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDistribution: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMax: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMaxInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMean: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMin: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMinInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setSamplingMethod: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setStandardDeviation: not bound -!missing-selector! MPSGraphRandomOpDescriptor::standardDeviation not bound -!missing-type! MPSGraphRandomOpDescriptor not bound !missing-enum! MPSGraphOptimization not bound !missing-enum! MPSGraphOptimizationProfile not bound !missing-enum! MPSGraphPoolingReturnIndicesMode not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MetalPerformanceShadersGraph.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MetalPerformanceShadersGraph.todo index b08089f7c6ea..d5eef2d9a18f 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MetalPerformanceShadersGraph.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MetalPerformanceShadersGraph.todo @@ -1,463 +1,4 @@ -!missing-enum! MPSGraphDeviceType not bound -!missing-enum! MPSGraphLossReductionType not bound -!missing-enum! MPSGraphOptions not bound -!missing-enum! MPSGraphPaddingMode not bound -!missing-enum! MPSGraphPaddingStyle not bound -!missing-enum! MPSGraphReductionMode not bound -!missing-enum! MPSGraphResizeMode not bound -!missing-enum! MPSGraphScatterMode not bound -!missing-enum! MPSGraphSparseStorageType not bound -!missing-enum! MPSGraphTensorNamedDataLayout not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphCreateSparseOpDescriptor::descriptorWithStorageType:dataType: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithDataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithStrides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphDevice::deviceWithMTLDevice: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:paddingStyle: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:strides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithExplicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithOffsets:explicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithReductionMode:offsets:strides:dilationRates:explicitPadding:boundaryMode:paddingStyle:paddingConstant: not bound -!missing-selector! MPSGraph::L2NormPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::L2NormPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::absoluteWithTensor:name: not bound -!missing-selector! MPSGraph::acosWithTensor:name: not bound -!missing-selector! MPSGraph::acoshWithTensor:name: not bound -!missing-selector! MPSGraph::additionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::applyStochasticGradientDescentWithLearningRateTensor:variable:gradientTensor:name: not bound -!missing-selector! MPSGraph::asinWithTensor:name: not bound -!missing-selector! MPSGraph::asinhWithTensor:name: not bound -!missing-selector! MPSGraph::assignVariable:withValueOfTensor:name: not bound -!missing-selector! MPSGraph::atan2WithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::atanWithTensor:name: not bound -!missing-selector! MPSGraph::atanhWithTensor:name: not bound -!missing-selector! MPSGraph::avgPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::ceilWithTensor:name: not bound -!missing-selector! MPSGraph::clampWithTensor:minValueTensor:maxValueTensor:name: not bound -!missing-selector! MPSGraph::compileWithDevice:feeds:targetTensors:targetOperations:compilationDescriptor: not bound -!missing-selector! MPSGraph::concatTensor:withTensor:dimension:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:interleave:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:name: not bound -!missing-selector! MPSGraph::constantWithData:shape:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:shape:dataType: not bound -!missing-selector! MPSGraph::controlDependencyWithOperations:dependentBlock:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::cosWithTensor:name: not bound -!missing-selector! MPSGraph::coshWithTensor:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::divisionNoNaNWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::divisionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rate:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rateTensor:name: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::equalWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::erfWithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase10WithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase2WithTensor:name: not bound -!missing-selector! MPSGraph::exponentWithTensor:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axis:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axisTensor:name: not bound -!missing-selector! MPSGraph::floorModuloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::floorWithTensor:name: not bound -!missing-selector! MPSGraph::forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::forLoopWithNumberOfIterations:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::gatherNDWithUpdatesTensor:indicesTensor:batchDimensions:name: not bound -!missing-selector! MPSGraph::gatherWithUpdatesTensor:indicesTensor:axis:batchDimensions:name: not bound -!missing-selector! MPSGraph::gradientForPrimaryTensor:withTensors:name: not bound -!missing-selector! MPSGraph::greaterThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::greaterThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::identityWithTensor:name: not bound -!missing-selector! MPSGraph::ifWithPredicateTensor:thenBlock:elseBlock:name: not bound -!missing-selector! MPSGraph::init not bound -!missing-selector! MPSGraph::isFiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isInfiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isNaNWithTensor:name: not bound -!missing-selector! MPSGraph::lessThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::lessThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase10WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase2WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmWithTensor:name: not bound -!missing-selector! MPSGraph::logicalANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::matrixMultiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maxPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maximumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maximumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::meanOfTensor:axes:name: not bound -!missing-selector! MPSGraph::minimumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::minimumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::moduloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::multiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::negativeWithTensor:name: not bound -!missing-selector! MPSGraph::normalizationBetaGradientWithIncomingGradientTensor:sourceTensor:reductionAxes:name: not bound -!missing-selector! MPSGraph::normalizationGammaGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:gammaTensor:gammaGradientTensor:betaGradientTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationWithTensor:meanTensor:varianceTensor:gammaTensor:betaTensor:epsilon:name: not bound -!missing-selector! MPSGraph::notEqualWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::notWithTensor:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:name: not bound -!missing-selector! MPSGraph::options not bound -!missing-selector! MPSGraph::padGradientWithIncomingGradientTensor:sourceTensor:paddingMode:leftPadding:rightPadding:name: not bound -!missing-selector! MPSGraph::padTensor:withPaddingMode:leftPadding:rightPadding:constantValue:name: not bound -!missing-selector! MPSGraph::placeholderTensors not bound -!missing-selector! MPSGraph::placeholderWithShape:dataType:name: not bound -!missing-selector! MPSGraph::placeholderWithShape:name: not bound -!missing-selector! MPSGraph::powerWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::reLUGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::reLUWithTensor:name: not bound -!missing-selector! MPSGraph::readVariable:name: not bound -!missing-selector! MPSGraph::reciprocalWithTensor:name: not bound -!missing-selector! MPSGraph::reductionArgMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionArgMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShape:name: not bound -!missing-selector! MPSGraph::resizeTensor:size:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::reverseSquareRootWithTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:axes:name: not bound -!missing-selector! MPSGraph::reverseTensor:axesTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:name: not bound -!missing-selector! MPSGraph::rintWithTensor:name: not bound -!missing-selector! MPSGraph::roundWithTensor:name: not bound -!missing-selector! MPSGraph::runAsyncWithFeeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runWithFeeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetOperations:resultsDictionary: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:name: not bound -!missing-selector! MPSGraph::selectWithPredicateTensor:truePredicateTensor:falsePredicateTensor:name: not bound -!missing-selector! MPSGraph::setOptions: not bound -!missing-selector! MPSGraph::sigmoidGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::sigmoidWithTensor:name: not bound -!missing-selector! MPSGraph::signWithTensor:name: not bound -!missing-selector! MPSGraph::signbitWithTensor:name: not bound -!missing-selector! MPSGraph::sinWithTensor:name: not bound -!missing-selector! MPSGraph::sinhWithTensor:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::sliceTensor:dimension:start:length:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyGradientWithIncomingGradientTensor:sourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyWithSourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxGradientWithIncomingGradient:sourceTensor:axis:name: not bound -!missing-selector! MPSGraph::softMaxWithTensor:axis:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::sparseTensorWithDescriptor:tensors:shape:name: not bound -!missing-selector! MPSGraph::sparseTensorWithType:tensors:shape:dataType:name: not bound -!missing-selector! MPSGraph::squareRootWithTensor:name: not bound -!missing-selector! MPSGraph::squareWithTensor:name: not bound -!missing-selector! MPSGraph::stencilWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::stochasticGradientDescentWithLearningRateTensor:valuesTensor:gradientTensor:name: not bound -!missing-selector! MPSGraph::subtractionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::tanWithTensor:name: not bound -!missing-selector! MPSGraph::tanhWithTensor:name: not bound -!missing-selector! MPSGraph::tileGradientWithIncomingGradientTensor:sourceTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::tileTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::transposeTensor:dimension:withDimension:name: not bound -!missing-selector! MPSGraph::variableWithData:shape:dataType:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:axes:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:meanTensor:axes:name: not bound -!missing-selector! MPSGraph::whileWithInitialInputs:before:after:name: not bound -!missing-selector! MPSGraphCompilationDescriptor::disableTypeInference not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::groups not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setGroups: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::dataType not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setSparseStorageType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::sparseStorageType not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::channelDimensionIndex not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setChannelDimensionIndex: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::strides not bound -!missing-selector! MPSGraphDevice::metalDevice not bound -!missing-selector! MPSGraphDevice::type not bound -!missing-selector! MPSGraphExecutable::encodeToCommandBuffer:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::feedTensors not bound -!missing-selector! MPSGraphExecutable::options not bound -!missing-selector! MPSGraphExecutable::runAsyncWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::runWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::setOptions: not bound -!missing-selector! MPSGraphExecutable::specializeWithDevice:inputTypes:compilationDescriptor: not bound -!missing-selector! MPSGraphExecutable::targetTensors not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphOperation::controlDependencies not bound -!missing-selector! MPSGraphOperation::graph not bound -!missing-selector! MPSGraphOperation::inputTensors not bound -!missing-selector! MPSGraphOperation::name not bound -!missing-selector! MPSGraphOperation::outputTensors not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelHeight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelWidth not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelHeight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelWidth: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::kernelSizes not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setKernelSizes: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::strides not bound -!missing-selector! MPSGraphShapedType::dataType not bound -!missing-selector! MPSGraphShapedType::initWithShape:dataType: not bound -!missing-selector! MPSGraphShapedType::isEqualTo: not bound -!missing-selector! MPSGraphShapedType::setDataType: not bound -!missing-selector! MPSGraphShapedType::setShape: not bound -!missing-selector! MPSGraphShapedType::shape not bound -!missing-selector! MPSGraphStencilOpDescriptor::boundaryMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphStencilOpDescriptor::explicitPadding not bound -!missing-selector! MPSGraphStencilOpDescriptor::offsets not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingConstant not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphStencilOpDescriptor::reductionMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::setBoundaryMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setExplicitPadding: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setOffsets: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingConstant: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setReductionMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphStencilOpDescriptor::strides not bound -!missing-selector! MPSGraphTensor::dataType not bound -!missing-selector! MPSGraphTensor::operation not bound -!missing-selector! MPSGraphTensor::shape not bound -!missing-selector! MPSGraphTensorData::dataType not bound -!missing-selector! MPSGraphTensorData::device not bound -!missing-selector! MPSGraphTensorData::initWithDevice:data:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::initWithMPSImageBatch: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMPSNDArray: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMTLBuffer:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::mpsndarray not bound -!missing-selector! MPSGraphTensorData::shape not bound -!missing-selector! MPSGraphVariableOp::dataType not bound -!missing-selector! MPSGraphVariableOp::shape not bound -!missing-type! MPSGraph not bound -!missing-type! MPSGraphCompilationDescriptor not bound -!missing-type! MPSGraphConvolution2DOpDescriptor not bound -!missing-type! MPSGraphCreateSparseOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution2DOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution3DOpDescriptor not bound -!missing-type! MPSGraphDevice not bound -!missing-type! MPSGraphExecutable not bound -!missing-type! MPSGraphExecutableExecutionDescriptor not bound -!missing-type! MPSGraphExecutionDescriptor not bound -!missing-type! MPSGraphOperation not bound -!missing-type! MPSGraphPooling2DOpDescriptor not bound -!missing-type! MPSGraphPooling4DOpDescriptor not bound -!missing-type! MPSGraphShapedType not bound -!missing-type! MPSGraphStencilOpDescriptor not bound -!missing-type! MPSGraphTensor not bound -!missing-type! MPSGraphTensorData not bound -!missing-type! MPSGraphType not bound -!missing-type! MPSGraphVariableOp not bound ## appended from unclassified file -## appended from unclassified file -!missing-selector! MPSGraph::broadcastTensor:toShape:name: not bound -!missing-selector! MPSGraph::broadcastTensor:toShapeTensor:name: not bound -!missing-selector! MPSGraph::castTensor:toType:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::leakyReLUGradientWithIncomingGradient:sourceTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alpha:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShapeTensor:name: not bound -!missing-selector! MPSGraph::resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::scatterNDWithDataTensor:updatesTensor:indicesTensor:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterWithDataTensor:updatesTensor:indicesTensor:axis:mode:name: not bound -!missing-selector! MPSGraph::scatterWithUpdatesTensor:indicesTensor:shape:axis:mode:name: not bound -!missing-selector! MPSGraph::shapeOfTensor:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:k:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:kTensor:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:k:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:kTensor:name: not bound -!missing-enum! MPSGraphRandomDistribution not bound -!missing-enum! MPSGraphRandomNormalSamplingMethod not bound -!missing-selector! +MPSGraphRandomOpDescriptor::descriptorWithDistribution:dataType: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithCounterLow:counterHigh:key:name: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithSeed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:stateTensor:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraphRandomOpDescriptor::dataType not bound -!missing-selector! MPSGraphRandomOpDescriptor::distribution not bound -!missing-selector! MPSGraphRandomOpDescriptor::max not bound -!missing-selector! MPSGraphRandomOpDescriptor::maxInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::mean not bound -!missing-selector! MPSGraphRandomOpDescriptor::min not bound -!missing-selector! MPSGraphRandomOpDescriptor::minInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::samplingMethod not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDistribution: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMax: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMaxInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMean: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMin: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMinInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setSamplingMethod: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setStandardDeviation: not bound -!missing-selector! MPSGraphRandomOpDescriptor::standardDeviation not bound -!missing-type! MPSGraphRandomOpDescriptor not bound !missing-enum! MPSGraphOptimization not bound !missing-enum! MPSGraphOptimizationProfile not bound !missing-enum! MPSGraphPoolingReturnIndicesMode not bound diff --git a/tests/xtro-sharpie/iOS-MetalPerformanceShadersGraph.todo b/tests/xtro-sharpie/iOS-MetalPerformanceShadersGraph.todo index b08089f7c6ea..d5eef2d9a18f 100644 --- a/tests/xtro-sharpie/iOS-MetalPerformanceShadersGraph.todo +++ b/tests/xtro-sharpie/iOS-MetalPerformanceShadersGraph.todo @@ -1,463 +1,4 @@ -!missing-enum! MPSGraphDeviceType not bound -!missing-enum! MPSGraphLossReductionType not bound -!missing-enum! MPSGraphOptions not bound -!missing-enum! MPSGraphPaddingMode not bound -!missing-enum! MPSGraphPaddingStyle not bound -!missing-enum! MPSGraphReductionMode not bound -!missing-enum! MPSGraphResizeMode not bound -!missing-enum! MPSGraphScatterMode not bound -!missing-enum! MPSGraphSparseStorageType not bound -!missing-enum! MPSGraphTensorNamedDataLayout not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphCreateSparseOpDescriptor::descriptorWithStorageType:dataType: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithDataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithStrides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphDevice::deviceWithMTLDevice: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:paddingStyle: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:strides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithExplicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithOffsets:explicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithReductionMode:offsets:strides:dilationRates:explicitPadding:boundaryMode:paddingStyle:paddingConstant: not bound -!missing-selector! MPSGraph::L2NormPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::L2NormPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::absoluteWithTensor:name: not bound -!missing-selector! MPSGraph::acosWithTensor:name: not bound -!missing-selector! MPSGraph::acoshWithTensor:name: not bound -!missing-selector! MPSGraph::additionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::applyStochasticGradientDescentWithLearningRateTensor:variable:gradientTensor:name: not bound -!missing-selector! MPSGraph::asinWithTensor:name: not bound -!missing-selector! MPSGraph::asinhWithTensor:name: not bound -!missing-selector! MPSGraph::assignVariable:withValueOfTensor:name: not bound -!missing-selector! MPSGraph::atan2WithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::atanWithTensor:name: not bound -!missing-selector! MPSGraph::atanhWithTensor:name: not bound -!missing-selector! MPSGraph::avgPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::ceilWithTensor:name: not bound -!missing-selector! MPSGraph::clampWithTensor:minValueTensor:maxValueTensor:name: not bound -!missing-selector! MPSGraph::compileWithDevice:feeds:targetTensors:targetOperations:compilationDescriptor: not bound -!missing-selector! MPSGraph::concatTensor:withTensor:dimension:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:interleave:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:name: not bound -!missing-selector! MPSGraph::constantWithData:shape:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:shape:dataType: not bound -!missing-selector! MPSGraph::controlDependencyWithOperations:dependentBlock:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::cosWithTensor:name: not bound -!missing-selector! MPSGraph::coshWithTensor:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::divisionNoNaNWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::divisionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rate:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rateTensor:name: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::equalWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::erfWithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase10WithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase2WithTensor:name: not bound -!missing-selector! MPSGraph::exponentWithTensor:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axis:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axisTensor:name: not bound -!missing-selector! MPSGraph::floorModuloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::floorWithTensor:name: not bound -!missing-selector! MPSGraph::forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::forLoopWithNumberOfIterations:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::gatherNDWithUpdatesTensor:indicesTensor:batchDimensions:name: not bound -!missing-selector! MPSGraph::gatherWithUpdatesTensor:indicesTensor:axis:batchDimensions:name: not bound -!missing-selector! MPSGraph::gradientForPrimaryTensor:withTensors:name: not bound -!missing-selector! MPSGraph::greaterThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::greaterThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::identityWithTensor:name: not bound -!missing-selector! MPSGraph::ifWithPredicateTensor:thenBlock:elseBlock:name: not bound -!missing-selector! MPSGraph::init not bound -!missing-selector! MPSGraph::isFiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isInfiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isNaNWithTensor:name: not bound -!missing-selector! MPSGraph::lessThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::lessThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase10WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase2WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmWithTensor:name: not bound -!missing-selector! MPSGraph::logicalANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::matrixMultiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maxPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maximumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maximumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::meanOfTensor:axes:name: not bound -!missing-selector! MPSGraph::minimumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::minimumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::moduloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::multiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::negativeWithTensor:name: not bound -!missing-selector! MPSGraph::normalizationBetaGradientWithIncomingGradientTensor:sourceTensor:reductionAxes:name: not bound -!missing-selector! MPSGraph::normalizationGammaGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:gammaTensor:gammaGradientTensor:betaGradientTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationWithTensor:meanTensor:varianceTensor:gammaTensor:betaTensor:epsilon:name: not bound -!missing-selector! MPSGraph::notEqualWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::notWithTensor:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:name: not bound -!missing-selector! MPSGraph::options not bound -!missing-selector! MPSGraph::padGradientWithIncomingGradientTensor:sourceTensor:paddingMode:leftPadding:rightPadding:name: not bound -!missing-selector! MPSGraph::padTensor:withPaddingMode:leftPadding:rightPadding:constantValue:name: not bound -!missing-selector! MPSGraph::placeholderTensors not bound -!missing-selector! MPSGraph::placeholderWithShape:dataType:name: not bound -!missing-selector! MPSGraph::placeholderWithShape:name: not bound -!missing-selector! MPSGraph::powerWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::reLUGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::reLUWithTensor:name: not bound -!missing-selector! MPSGraph::readVariable:name: not bound -!missing-selector! MPSGraph::reciprocalWithTensor:name: not bound -!missing-selector! MPSGraph::reductionArgMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionArgMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShape:name: not bound -!missing-selector! MPSGraph::resizeTensor:size:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::reverseSquareRootWithTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:axes:name: not bound -!missing-selector! MPSGraph::reverseTensor:axesTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:name: not bound -!missing-selector! MPSGraph::rintWithTensor:name: not bound -!missing-selector! MPSGraph::roundWithTensor:name: not bound -!missing-selector! MPSGraph::runAsyncWithFeeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runWithFeeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetOperations:resultsDictionary: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:name: not bound -!missing-selector! MPSGraph::selectWithPredicateTensor:truePredicateTensor:falsePredicateTensor:name: not bound -!missing-selector! MPSGraph::setOptions: not bound -!missing-selector! MPSGraph::sigmoidGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::sigmoidWithTensor:name: not bound -!missing-selector! MPSGraph::signWithTensor:name: not bound -!missing-selector! MPSGraph::signbitWithTensor:name: not bound -!missing-selector! MPSGraph::sinWithTensor:name: not bound -!missing-selector! MPSGraph::sinhWithTensor:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::sliceTensor:dimension:start:length:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyGradientWithIncomingGradientTensor:sourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyWithSourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxGradientWithIncomingGradient:sourceTensor:axis:name: not bound -!missing-selector! MPSGraph::softMaxWithTensor:axis:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::sparseTensorWithDescriptor:tensors:shape:name: not bound -!missing-selector! MPSGraph::sparseTensorWithType:tensors:shape:dataType:name: not bound -!missing-selector! MPSGraph::squareRootWithTensor:name: not bound -!missing-selector! MPSGraph::squareWithTensor:name: not bound -!missing-selector! MPSGraph::stencilWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::stochasticGradientDescentWithLearningRateTensor:valuesTensor:gradientTensor:name: not bound -!missing-selector! MPSGraph::subtractionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::tanWithTensor:name: not bound -!missing-selector! MPSGraph::tanhWithTensor:name: not bound -!missing-selector! MPSGraph::tileGradientWithIncomingGradientTensor:sourceTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::tileTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::transposeTensor:dimension:withDimension:name: not bound -!missing-selector! MPSGraph::variableWithData:shape:dataType:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:axes:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:meanTensor:axes:name: not bound -!missing-selector! MPSGraph::whileWithInitialInputs:before:after:name: not bound -!missing-selector! MPSGraphCompilationDescriptor::disableTypeInference not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::groups not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setGroups: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::dataType not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setSparseStorageType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::sparseStorageType not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::channelDimensionIndex not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setChannelDimensionIndex: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::strides not bound -!missing-selector! MPSGraphDevice::metalDevice not bound -!missing-selector! MPSGraphDevice::type not bound -!missing-selector! MPSGraphExecutable::encodeToCommandBuffer:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::feedTensors not bound -!missing-selector! MPSGraphExecutable::options not bound -!missing-selector! MPSGraphExecutable::runAsyncWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::runWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::setOptions: not bound -!missing-selector! MPSGraphExecutable::specializeWithDevice:inputTypes:compilationDescriptor: not bound -!missing-selector! MPSGraphExecutable::targetTensors not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphOperation::controlDependencies not bound -!missing-selector! MPSGraphOperation::graph not bound -!missing-selector! MPSGraphOperation::inputTensors not bound -!missing-selector! MPSGraphOperation::name not bound -!missing-selector! MPSGraphOperation::outputTensors not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelHeight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelWidth not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelHeight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelWidth: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::kernelSizes not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setKernelSizes: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::strides not bound -!missing-selector! MPSGraphShapedType::dataType not bound -!missing-selector! MPSGraphShapedType::initWithShape:dataType: not bound -!missing-selector! MPSGraphShapedType::isEqualTo: not bound -!missing-selector! MPSGraphShapedType::setDataType: not bound -!missing-selector! MPSGraphShapedType::setShape: not bound -!missing-selector! MPSGraphShapedType::shape not bound -!missing-selector! MPSGraphStencilOpDescriptor::boundaryMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphStencilOpDescriptor::explicitPadding not bound -!missing-selector! MPSGraphStencilOpDescriptor::offsets not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingConstant not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphStencilOpDescriptor::reductionMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::setBoundaryMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setExplicitPadding: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setOffsets: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingConstant: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setReductionMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphStencilOpDescriptor::strides not bound -!missing-selector! MPSGraphTensor::dataType not bound -!missing-selector! MPSGraphTensor::operation not bound -!missing-selector! MPSGraphTensor::shape not bound -!missing-selector! MPSGraphTensorData::dataType not bound -!missing-selector! MPSGraphTensorData::device not bound -!missing-selector! MPSGraphTensorData::initWithDevice:data:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::initWithMPSImageBatch: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMPSNDArray: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMTLBuffer:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::mpsndarray not bound -!missing-selector! MPSGraphTensorData::shape not bound -!missing-selector! MPSGraphVariableOp::dataType not bound -!missing-selector! MPSGraphVariableOp::shape not bound -!missing-type! MPSGraph not bound -!missing-type! MPSGraphCompilationDescriptor not bound -!missing-type! MPSGraphConvolution2DOpDescriptor not bound -!missing-type! MPSGraphCreateSparseOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution2DOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution3DOpDescriptor not bound -!missing-type! MPSGraphDevice not bound -!missing-type! MPSGraphExecutable not bound -!missing-type! MPSGraphExecutableExecutionDescriptor not bound -!missing-type! MPSGraphExecutionDescriptor not bound -!missing-type! MPSGraphOperation not bound -!missing-type! MPSGraphPooling2DOpDescriptor not bound -!missing-type! MPSGraphPooling4DOpDescriptor not bound -!missing-type! MPSGraphShapedType not bound -!missing-type! MPSGraphStencilOpDescriptor not bound -!missing-type! MPSGraphTensor not bound -!missing-type! MPSGraphTensorData not bound -!missing-type! MPSGraphType not bound -!missing-type! MPSGraphVariableOp not bound ## appended from unclassified file -## appended from unclassified file -!missing-selector! MPSGraph::broadcastTensor:toShape:name: not bound -!missing-selector! MPSGraph::broadcastTensor:toShapeTensor:name: not bound -!missing-selector! MPSGraph::castTensor:toType:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::leakyReLUGradientWithIncomingGradient:sourceTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alpha:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShapeTensor:name: not bound -!missing-selector! MPSGraph::resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::scatterNDWithDataTensor:updatesTensor:indicesTensor:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterWithDataTensor:updatesTensor:indicesTensor:axis:mode:name: not bound -!missing-selector! MPSGraph::scatterWithUpdatesTensor:indicesTensor:shape:axis:mode:name: not bound -!missing-selector! MPSGraph::shapeOfTensor:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:k:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:kTensor:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:k:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:kTensor:name: not bound -!missing-enum! MPSGraphRandomDistribution not bound -!missing-enum! MPSGraphRandomNormalSamplingMethod not bound -!missing-selector! +MPSGraphRandomOpDescriptor::descriptorWithDistribution:dataType: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithCounterLow:counterHigh:key:name: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithSeed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:stateTensor:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraphRandomOpDescriptor::dataType not bound -!missing-selector! MPSGraphRandomOpDescriptor::distribution not bound -!missing-selector! MPSGraphRandomOpDescriptor::max not bound -!missing-selector! MPSGraphRandomOpDescriptor::maxInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::mean not bound -!missing-selector! MPSGraphRandomOpDescriptor::min not bound -!missing-selector! MPSGraphRandomOpDescriptor::minInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::samplingMethod not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDistribution: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMax: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMaxInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMean: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMin: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMinInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setSamplingMethod: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setStandardDeviation: not bound -!missing-selector! MPSGraphRandomOpDescriptor::standardDeviation not bound -!missing-type! MPSGraphRandomOpDescriptor not bound !missing-enum! MPSGraphOptimization not bound !missing-enum! MPSGraphOptimizationProfile not bound !missing-enum! MPSGraphPoolingReturnIndicesMode not bound diff --git a/tests/xtro-sharpie/macOS-MetalPerformanceShadersGraph.todo b/tests/xtro-sharpie/macOS-MetalPerformanceShadersGraph.todo index 01e28bdcc2a0..d5eef2d9a18f 100644 --- a/tests/xtro-sharpie/macOS-MetalPerformanceShadersGraph.todo +++ b/tests/xtro-sharpie/macOS-MetalPerformanceShadersGraph.todo @@ -1,464 +1,4 @@ -!missing-enum! MPSGraphDeviceType not bound -!missing-enum! MPSGraphLossReductionType not bound -!missing-enum! MPSGraphOptions not bound -!missing-enum! MPSGraphPaddingMode not bound -!missing-enum! MPSGraphPaddingStyle not bound -!missing-enum! MPSGraphReductionMode not bound -!missing-enum! MPSGraphResizeMode not bound -!missing-enum! MPSGraphScatterMode not bound -!missing-enum! MPSGraphSparseStorageType not bound -!missing-enum! MPSGraphTensorNamedDataLayout not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphCreateSparseOpDescriptor::descriptorWithStorageType:dataType: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithDataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithStrides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphDevice::deviceWithMTLDevice: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:paddingStyle: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:strides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithExplicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithOffsets:explicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithReductionMode:offsets:strides:dilationRates:explicitPadding:boundaryMode:paddingStyle:paddingConstant: not bound -!missing-selector! MPSGraph::L2NormPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::L2NormPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::absoluteWithTensor:name: not bound -!missing-selector! MPSGraph::acosWithTensor:name: not bound -!missing-selector! MPSGraph::acoshWithTensor:name: not bound -!missing-selector! MPSGraph::additionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::applyStochasticGradientDescentWithLearningRateTensor:variable:gradientTensor:name: not bound -!missing-selector! MPSGraph::asinWithTensor:name: not bound -!missing-selector! MPSGraph::asinhWithTensor:name: not bound -!missing-selector! MPSGraph::assignVariable:withValueOfTensor:name: not bound -!missing-selector! MPSGraph::atan2WithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::atanWithTensor:name: not bound -!missing-selector! MPSGraph::atanhWithTensor:name: not bound -!missing-selector! MPSGraph::avgPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::ceilWithTensor:name: not bound -!missing-selector! MPSGraph::clampWithTensor:minValueTensor:maxValueTensor:name: not bound -!missing-selector! MPSGraph::compileWithDevice:feeds:targetTensors:targetOperations:compilationDescriptor: not bound -!missing-selector! MPSGraph::concatTensor:withTensor:dimension:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:interleave:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:name: not bound -!missing-selector! MPSGraph::constantWithData:shape:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:shape:dataType: not bound -!missing-selector! MPSGraph::controlDependencyWithOperations:dependentBlock:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::cosWithTensor:name: not bound -!missing-selector! MPSGraph::coshWithTensor:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::divisionNoNaNWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::divisionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rate:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rateTensor:name: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::equalWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::erfWithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase10WithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase2WithTensor:name: not bound -!missing-selector! MPSGraph::exponentWithTensor:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axis:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axisTensor:name: not bound -!missing-selector! MPSGraph::floorModuloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::floorWithTensor:name: not bound -!missing-selector! MPSGraph::forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::forLoopWithNumberOfIterations:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::gatherNDWithUpdatesTensor:indicesTensor:batchDimensions:name: not bound -!missing-selector! MPSGraph::gatherWithUpdatesTensor:indicesTensor:axis:batchDimensions:name: not bound -!missing-selector! MPSGraph::gradientForPrimaryTensor:withTensors:name: not bound -!missing-selector! MPSGraph::greaterThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::greaterThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::identityWithTensor:name: not bound -!missing-selector! MPSGraph::ifWithPredicateTensor:thenBlock:elseBlock:name: not bound -!missing-selector! MPSGraph::init not bound -!missing-selector! MPSGraph::isFiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isInfiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isNaNWithTensor:name: not bound -!missing-selector! MPSGraph::lessThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::lessThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase10WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase2WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmWithTensor:name: not bound -!missing-selector! MPSGraph::logicalANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::matrixMultiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maxPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maximumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maximumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::meanOfTensor:axes:name: not bound -!missing-selector! MPSGraph::minimumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::minimumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::moduloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::multiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::negativeWithTensor:name: not bound -!missing-selector! MPSGraph::normalizationBetaGradientWithIncomingGradientTensor:sourceTensor:reductionAxes:name: not bound -!missing-selector! MPSGraph::normalizationGammaGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:gammaTensor:gammaGradientTensor:betaGradientTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationWithTensor:meanTensor:varianceTensor:gammaTensor:betaTensor:epsilon:name: not bound -!missing-selector! MPSGraph::notEqualWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::notWithTensor:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:name: not bound -!missing-selector! MPSGraph::options not bound -!missing-selector! MPSGraph::padGradientWithIncomingGradientTensor:sourceTensor:paddingMode:leftPadding:rightPadding:name: not bound -!missing-selector! MPSGraph::padTensor:withPaddingMode:leftPadding:rightPadding:constantValue:name: not bound -!missing-selector! MPSGraph::placeholderTensors not bound -!missing-selector! MPSGraph::placeholderWithShape:dataType:name: not bound -!missing-selector! MPSGraph::placeholderWithShape:name: not bound -!missing-selector! MPSGraph::powerWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::reLUGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::reLUWithTensor:name: not bound -!missing-selector! MPSGraph::readVariable:name: not bound -!missing-selector! MPSGraph::reciprocalWithTensor:name: not bound -!missing-selector! MPSGraph::reductionArgMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionArgMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShape:name: not bound -!missing-selector! MPSGraph::resizeTensor:size:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::reverseSquareRootWithTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:axes:name: not bound -!missing-selector! MPSGraph::reverseTensor:axesTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:name: not bound -!missing-selector! MPSGraph::rintWithTensor:name: not bound -!missing-selector! MPSGraph::roundWithTensor:name: not bound -!missing-selector! MPSGraph::runAsyncWithFeeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runWithFeeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetOperations:resultsDictionary: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:name: not bound -!missing-selector! MPSGraph::selectWithPredicateTensor:truePredicateTensor:falsePredicateTensor:name: not bound -!missing-selector! MPSGraph::setOptions: not bound -!missing-selector! MPSGraph::sigmoidGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::sigmoidWithTensor:name: not bound -!missing-selector! MPSGraph::signWithTensor:name: not bound -!missing-selector! MPSGraph::signbitWithTensor:name: not bound -!missing-selector! MPSGraph::sinWithTensor:name: not bound -!missing-selector! MPSGraph::sinhWithTensor:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::sliceTensor:dimension:start:length:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyGradientWithIncomingGradientTensor:sourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyWithSourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxGradientWithIncomingGradient:sourceTensor:axis:name: not bound -!missing-selector! MPSGraph::softMaxWithTensor:axis:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::sparseTensorWithDescriptor:tensors:shape:name: not bound -!missing-selector! MPSGraph::sparseTensorWithType:tensors:shape:dataType:name: not bound -!missing-selector! MPSGraph::squareRootWithTensor:name: not bound -!missing-selector! MPSGraph::squareWithTensor:name: not bound -!missing-selector! MPSGraph::stencilWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::stochasticGradientDescentWithLearningRateTensor:valuesTensor:gradientTensor:name: not bound -!missing-selector! MPSGraph::subtractionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::tanWithTensor:name: not bound -!missing-selector! MPSGraph::tanhWithTensor:name: not bound -!missing-selector! MPSGraph::tileGradientWithIncomingGradientTensor:sourceTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::tileTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::transposeTensor:dimension:withDimension:name: not bound -!missing-selector! MPSGraph::variableWithData:shape:dataType:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:axes:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:meanTensor:axes:name: not bound -!missing-selector! MPSGraph::whileWithInitialInputs:before:after:name: not bound -!missing-selector! MPSGraphCompilationDescriptor::disableTypeInference not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::groups not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setGroups: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::dataType not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setSparseStorageType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::sparseStorageType not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::channelDimensionIndex not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setChannelDimensionIndex: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::strides not bound -!missing-selector! MPSGraphDevice::metalDevice not bound -!missing-selector! MPSGraphDevice::type not bound -!missing-selector! MPSGraphExecutable::encodeToCommandBuffer:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::feedTensors not bound -!missing-selector! MPSGraphExecutable::options not bound -!missing-selector! MPSGraphExecutable::runAsyncWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::runWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::setOptions: not bound -!missing-selector! MPSGraphExecutable::specializeWithDevice:inputTypes:compilationDescriptor: not bound -!missing-selector! MPSGraphExecutable::targetTensors not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphOperation::controlDependencies not bound -!missing-selector! MPSGraphOperation::graph not bound -!missing-selector! MPSGraphOperation::inputTensors not bound -!missing-selector! MPSGraphOperation::name not bound -!missing-selector! MPSGraphOperation::outputTensors not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelHeight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelWidth not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelHeight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelWidth: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::kernelSizes not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setKernelSizes: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::strides not bound -!missing-selector! MPSGraphShapedType::dataType not bound -!missing-selector! MPSGraphShapedType::initWithShape:dataType: not bound -!missing-selector! MPSGraphShapedType::isEqualTo: not bound -!missing-selector! MPSGraphShapedType::setDataType: not bound -!missing-selector! MPSGraphShapedType::setShape: not bound -!missing-selector! MPSGraphShapedType::shape not bound -!missing-selector! MPSGraphStencilOpDescriptor::boundaryMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphStencilOpDescriptor::explicitPadding not bound -!missing-selector! MPSGraphStencilOpDescriptor::offsets not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingConstant not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphStencilOpDescriptor::reductionMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::setBoundaryMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setExplicitPadding: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setOffsets: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingConstant: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setReductionMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphStencilOpDescriptor::strides not bound -!missing-selector! MPSGraphTensor::dataType not bound -!missing-selector! MPSGraphTensor::operation not bound -!missing-selector! MPSGraphTensor::shape not bound -!missing-selector! MPSGraphTensorData::dataType not bound -!missing-selector! MPSGraphTensorData::device not bound -!missing-selector! MPSGraphTensorData::initWithDevice:data:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::initWithMPSImageBatch: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMPSNDArray: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMTLBuffer:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::mpsndarray not bound -!missing-selector! MPSGraphTensorData::shape not bound -!missing-selector! MPSGraphVariableOp::dataType not bound -!missing-selector! MPSGraphVariableOp::shape not bound -!missing-type! MPSGraph not bound -!missing-type! MPSGraphCompilationDescriptor not bound -!missing-type! MPSGraphConvolution2DOpDescriptor not bound -!missing-type! MPSGraphCreateSparseOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution2DOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution3DOpDescriptor not bound -!missing-type! MPSGraphDevice not bound -!missing-type! MPSGraphExecutable not bound -!missing-type! MPSGraphExecutableExecutionDescriptor not bound -!missing-type! MPSGraphExecutionDescriptor not bound -!missing-type! MPSGraphOperation not bound -!missing-type! MPSGraphPooling2DOpDescriptor not bound -!missing-type! MPSGraphPooling4DOpDescriptor not bound -!missing-type! MPSGraphShapedType not bound -!missing-type! MPSGraphStencilOpDescriptor not bound -!missing-type! MPSGraphTensor not bound -!missing-type! MPSGraphTensorData not bound -!missing-type! MPSGraphType not bound -!missing-type! MPSGraphVariableOp not bound ## appended from unclassified file -## appended from unclassified file -## appended from unclassified file -!missing-selector! MPSGraph::broadcastTensor:toShape:name: not bound -!missing-selector! MPSGraph::broadcastTensor:toShapeTensor:name: not bound -!missing-selector! MPSGraph::castTensor:toType:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::leakyReLUGradientWithIncomingGradient:sourceTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alpha:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShapeTensor:name: not bound -!missing-selector! MPSGraph::resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::scatterNDWithDataTensor:updatesTensor:indicesTensor:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterWithDataTensor:updatesTensor:indicesTensor:axis:mode:name: not bound -!missing-selector! MPSGraph::scatterWithUpdatesTensor:indicesTensor:shape:axis:mode:name: not bound -!missing-selector! MPSGraph::shapeOfTensor:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:k:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:kTensor:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:k:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:kTensor:name: not bound -!missing-enum! MPSGraphRandomDistribution not bound -!missing-enum! MPSGraphRandomNormalSamplingMethod not bound -!missing-selector! +MPSGraphRandomOpDescriptor::descriptorWithDistribution:dataType: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithCounterLow:counterHigh:key:name: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithSeed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:stateTensor:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraphRandomOpDescriptor::dataType not bound -!missing-selector! MPSGraphRandomOpDescriptor::distribution not bound -!missing-selector! MPSGraphRandomOpDescriptor::max not bound -!missing-selector! MPSGraphRandomOpDescriptor::maxInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::mean not bound -!missing-selector! MPSGraphRandomOpDescriptor::min not bound -!missing-selector! MPSGraphRandomOpDescriptor::minInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::samplingMethod not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDistribution: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMax: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMaxInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMean: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMin: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMinInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setSamplingMethod: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setStandardDeviation: not bound -!missing-selector! MPSGraphRandomOpDescriptor::standardDeviation not bound -!missing-type! MPSGraphRandomOpDescriptor not bound !missing-enum! MPSGraphOptimization not bound !missing-enum! MPSGraphOptimizationProfile not bound !missing-enum! MPSGraphPoolingReturnIndicesMode not bound diff --git a/tests/xtro-sharpie/tvOS-MetalPerformanceShadersGraph.todo b/tests/xtro-sharpie/tvOS-MetalPerformanceShadersGraph.todo index b08089f7c6ea..d5eef2d9a18f 100644 --- a/tests/xtro-sharpie/tvOS-MetalPerformanceShadersGraph.todo +++ b/tests/xtro-sharpie/tvOS-MetalPerformanceShadersGraph.todo @@ -1,463 +1,4 @@ -!missing-enum! MPSGraphDeviceType not bound -!missing-enum! MPSGraphLossReductionType not bound -!missing-enum! MPSGraphOptions not bound -!missing-enum! MPSGraphPaddingMode not bound -!missing-enum! MPSGraphPaddingStyle not bound -!missing-enum! MPSGraphReductionMode not bound -!missing-enum! MPSGraphResizeMode not bound -!missing-enum! MPSGraphScatterMode not bound -!missing-enum! MPSGraphSparseStorageType not bound -!missing-enum! MPSGraphTensorNamedDataLayout not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:groups:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphCreateSparseOpDescriptor::descriptorWithStorageType:dataType: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithDataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution2DOpDescriptor::descriptorWithStrideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout:weightsLayout: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphDepthwiseConvolution3DOpDescriptor::descriptorWithStrides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphDevice::deviceWithMTLDevice: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:dilationRateInX:dilationRateInY:paddingLeft:paddingRight:paddingTop:paddingBottom:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling2DOpDescriptor::descriptorWithKernelWidth:kernelHeight:strideInX:strideInY:paddingStyle:dataLayout: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:paddingStyle: not bound -!missing-selector! +MPSGraphPooling4DOpDescriptor::descriptorWithKernelSizes:strides:dilationRates:paddingValues:paddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithExplicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithOffsets:explicitPadding: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithPaddingStyle: not bound -!missing-selector! +MPSGraphStencilOpDescriptor::descriptorWithReductionMode:offsets:strides:dilationRates:explicitPadding:boundaryMode:paddingStyle:paddingConstant: not bound -!missing-selector! MPSGraph::L2NormPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::L2NormPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::absoluteWithTensor:name: not bound -!missing-selector! MPSGraph::acosWithTensor:name: not bound -!missing-selector! MPSGraph::acoshWithTensor:name: not bound -!missing-selector! MPSGraph::additionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::applyStochasticGradientDescentWithLearningRateTensor:variable:gradientTensor:name: not bound -!missing-selector! MPSGraph::asinWithTensor:name: not bound -!missing-selector! MPSGraph::asinhWithTensor:name: not bound -!missing-selector! MPSGraph::assignVariable:withValueOfTensor:name: not bound -!missing-selector! MPSGraph::atan2WithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::atanWithTensor:name: not bound -!missing-selector! MPSGraph::atanhWithTensor:name: not bound -!missing-selector! MPSGraph::avgPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::avgPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::ceilWithTensor:name: not bound -!missing-selector! MPSGraph::clampWithTensor:minValueTensor:maxValueTensor:name: not bound -!missing-selector! MPSGraph::compileWithDevice:feeds:targetTensors:targetOperations:compilationDescriptor: not bound -!missing-selector! MPSGraph::concatTensor:withTensor:dimension:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:interleave:name: not bound -!missing-selector! MPSGraph::concatTensors:dimension:name: not bound -!missing-selector! MPSGraph::constantWithData:shape:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:dataType: not bound -!missing-selector! MPSGraph::constantWithScalar:shape:dataType: not bound -!missing-selector! MPSGraph::controlDependencyWithOperations:dependentBlock:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::cosWithTensor:name: not bound -!missing-selector! MPSGraph::coshWithTensor:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution2DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DDataGradientWithIncomingGradientTensor:weightsTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShape:descriptor:name: not bound -!missing-selector! MPSGraph::depthwiseConvolution3DWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::divisionNoNaNWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::divisionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rate:name: not bound -!missing-selector! MPSGraph::dropoutTensor:rateTensor:name: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::encodeToCommandBuffer:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::equalWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::erfWithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase10WithTensor:name: not bound -!missing-selector! MPSGraph::exponentBase2WithTensor:name: not bound -!missing-selector! MPSGraph::exponentWithTensor:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axis:name: not bound -!missing-selector! MPSGraph::flatten2DTensor:axisTensor:name: not bound -!missing-selector! MPSGraph::floorModuloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::floorWithTensor:name: not bound -!missing-selector! MPSGraph::forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::forLoopWithNumberOfIterations:initialBodyArguments:body:name: not bound -!missing-selector! MPSGraph::gatherNDWithUpdatesTensor:indicesTensor:batchDimensions:name: not bound -!missing-selector! MPSGraph::gatherWithUpdatesTensor:indicesTensor:axis:batchDimensions:name: not bound -!missing-selector! MPSGraph::gradientForPrimaryTensor:withTensors:name: not bound -!missing-selector! MPSGraph::greaterThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::greaterThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::identityWithTensor:name: not bound -!missing-selector! MPSGraph::ifWithPredicateTensor:thenBlock:elseBlock:name: not bound -!missing-selector! MPSGraph::init not bound -!missing-selector! MPSGraph::isFiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isInfiniteWithTensor:name: not bound -!missing-selector! MPSGraph::isNaNWithTensor:name: not bound -!missing-selector! MPSGraph::lessThanOrEqualToWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::lessThanWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase10WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmBase2WithTensor:name: not bound -!missing-selector! MPSGraph::logarithmWithTensor:name: not bound -!missing-selector! MPSGraph::logicalANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNANDWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXNORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::logicalXORWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::matrixMultiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maxPooling2DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling2DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DGradientWithGradientTensor:sourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maxPooling4DWithSourceTensor:descriptor:name: not bound -!missing-selector! MPSGraph::maximumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::maximumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::meanOfTensor:axes:name: not bound -!missing-selector! MPSGraph::minimumWithNaNPropagationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::minimumWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::moduloWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::multiplicationWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::negativeWithTensor:name: not bound -!missing-selector! MPSGraph::normalizationBetaGradientWithIncomingGradientTensor:sourceTensor:reductionAxes:name: not bound -!missing-selector! MPSGraph::normalizationGammaGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationGradientWithIncomingGradientTensor:sourceTensor:meanTensor:varianceTensor:gammaTensor:gammaGradientTensor:betaGradientTensor:reductionAxes:epsilon:name: not bound -!missing-selector! MPSGraph::normalizationWithTensor:meanTensor:varianceTensor:gammaTensor:betaTensor:epsilon:name: not bound -!missing-selector! MPSGraph::notEqualWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::notWithTensor:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:axis:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:dataType:onValue:offValue:name: not bound -!missing-selector! MPSGraph::oneHotWithIndicesTensor:depth:name: not bound -!missing-selector! MPSGraph::options not bound -!missing-selector! MPSGraph::padGradientWithIncomingGradientTensor:sourceTensor:paddingMode:leftPadding:rightPadding:name: not bound -!missing-selector! MPSGraph::padTensor:withPaddingMode:leftPadding:rightPadding:constantValue:name: not bound -!missing-selector! MPSGraph::placeholderTensors not bound -!missing-selector! MPSGraph::placeholderWithShape:dataType:name: not bound -!missing-selector! MPSGraph::placeholderWithShape:name: not bound -!missing-selector! MPSGraph::powerWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::reLUGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::reLUWithTensor:name: not bound -!missing-selector! MPSGraph::readVariable:name: not bound -!missing-selector! MPSGraph::reciprocalWithTensor:name: not bound -!missing-selector! MPSGraph::reductionArgMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionArgMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionProductWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionSumWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShape:name: not bound -!missing-selector! MPSGraph::resizeTensor:size:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::reverseSquareRootWithTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:axes:name: not bound -!missing-selector! MPSGraph::reverseTensor:axesTensor:name: not bound -!missing-selector! MPSGraph::reverseTensor:name: not bound -!missing-selector! MPSGraph::rintWithTensor:name: not bound -!missing-selector! MPSGraph::roundWithTensor:name: not bound -!missing-selector! MPSGraph::runAsyncWithFeeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetOperations:resultsDictionary:executionDescriptor: not bound -!missing-selector! MPSGraph::runAsyncWithMTLCommandQueue:feeds:targetTensors:targetOperations:executionDescriptor: not bound -!missing-selector! MPSGraph::runWithFeeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetOperations:resultsDictionary: not bound -!missing-selector! MPSGraph::runWithMTLCommandQueue:feeds:targetTensors:targetOperations: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterNDWithUpdatesTensor:indicesTensor:shape:batchDimensions:name: not bound -!missing-selector! MPSGraph::selectWithPredicateTensor:truePredicateTensor:falsePredicateTensor:name: not bound -!missing-selector! MPSGraph::setOptions: not bound -!missing-selector! MPSGraph::sigmoidGradientWithIncomingGradient:sourceTensor:name: not bound -!missing-selector! MPSGraph::sigmoidWithTensor:name: not bound -!missing-selector! MPSGraph::signWithTensor:name: not bound -!missing-selector! MPSGraph::signbitWithTensor:name: not bound -!missing-selector! MPSGraph::sinWithTensor:name: not bound -!missing-selector! MPSGraph::sinhWithTensor:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceGradientTensor:fwdInShapeTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::sliceTensor:dimension:start:length:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:name: not bound -!missing-selector! MPSGraph::sliceTensor:starts:ends:strides:startMask:endMask:squeezeMask:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyGradientWithIncomingGradientTensor:sourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxCrossEntropyWithSourceTensor:labelsTensor:axis:reductionType:name: not bound -!missing-selector! MPSGraph::softMaxGradientWithIncomingGradient:sourceTensor:axis:name: not bound -!missing-selector! MPSGraph::softMaxWithTensor:axis:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name: not bound -!missing-selector! MPSGraph::sparseTensorWithDescriptor:tensors:shape:name: not bound -!missing-selector! MPSGraph::sparseTensorWithType:tensors:shape:dataType:name: not bound -!missing-selector! MPSGraph::squareRootWithTensor:name: not bound -!missing-selector! MPSGraph::squareWithTensor:name: not bound -!missing-selector! MPSGraph::stencilWithSourceTensor:weightsTensor:descriptor:name: not bound -!missing-selector! MPSGraph::stochasticGradientDescentWithLearningRateTensor:valuesTensor:gradientTensor:name: not bound -!missing-selector! MPSGraph::subtractionWithPrimaryTensor:secondaryTensor:name: not bound -!missing-selector! MPSGraph::tanWithTensor:name: not bound -!missing-selector! MPSGraph::tanhWithTensor:name: not bound -!missing-selector! MPSGraph::tileGradientWithIncomingGradientTensor:sourceTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::tileTensor:withMultiplier:name: not bound -!missing-selector! MPSGraph::transposeTensor:dimension:withDimension:name: not bound -!missing-selector! MPSGraph::variableWithData:shape:dataType:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:axes:name: not bound -!missing-selector! MPSGraph::varianceOfTensor:meanTensor:axes:name: not bound -!missing-selector! MPSGraph::whileWithInitialInputs:before:after:name: not bound -!missing-selector! MPSGraphCompilationDescriptor::disableTypeInference not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::groups not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setGroups: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::dataType not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::setSparseStorageType: not bound -!missing-selector! MPSGraphCreateSparseOpDescriptor::sparseStorageType not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::setWeightsLayout: not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphDepthwiseConvolution2DOpDescriptor::weightsLayout not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::channelDimensionIndex not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setChannelDimensionIndex: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphDepthwiseConvolution3DOpDescriptor::strides not bound -!missing-selector! MPSGraphDevice::metalDevice not bound -!missing-selector! MPSGraphDevice::type not bound -!missing-selector! MPSGraphExecutable::encodeToCommandBuffer:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::feedTensors not bound -!missing-selector! MPSGraphExecutable::options not bound -!missing-selector! MPSGraphExecutable::runAsyncWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::runWithMTLCommandQueue:inputsArray:resultsArray:executionDescriptor: not bound -!missing-selector! MPSGraphExecutable::setOptions: not bound -!missing-selector! MPSGraphExecutable::specializeWithDevice:inputTypes:compilationDescriptor: not bound -!missing-selector! MPSGraphExecutable::targetTensors not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutableExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphExecutionDescriptor::completionHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::scheduledHandler not bound -!missing-selector! MPSGraphExecutionDescriptor::setCompletionHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setScheduledHandler: not bound -!missing-selector! MPSGraphExecutionDescriptor::setWaitUntilCompleted: not bound -!missing-selector! MPSGraphExecutionDescriptor::waitUntilCompleted not bound -!missing-selector! MPSGraphOperation::controlDependencies not bound -!missing-selector! MPSGraphOperation::graph not bound -!missing-selector! MPSGraphOperation::inputTensors not bound -!missing-selector! MPSGraphOperation::name not bound -!missing-selector! MPSGraphOperation::outputTensors not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dataLayout not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::dilationRateInY not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelHeight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::kernelWidth not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingBottom not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingLeft not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingRight not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::paddingTop not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDataLayout: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setDilationRateInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setExplicitPaddingWithPaddingLeft:paddingRight:paddingTop:paddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelHeight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setKernelWidth: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingBottom: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingLeft: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingRight: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setPaddingTop: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInX: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::setStrideInY: not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInX not bound -!missing-selector! MPSGraphPooling2DOpDescriptor::strideInY not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::ceilMode not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::includeZeroPadToAverage not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::kernelSizes not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::paddingValues not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setCeilMode: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setIncludeZeroPadToAverage: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setKernelSizes: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setPaddingValues: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphPooling4DOpDescriptor::strides not bound -!missing-selector! MPSGraphShapedType::dataType not bound -!missing-selector! MPSGraphShapedType::initWithShape:dataType: not bound -!missing-selector! MPSGraphShapedType::isEqualTo: not bound -!missing-selector! MPSGraphShapedType::setDataType: not bound -!missing-selector! MPSGraphShapedType::setShape: not bound -!missing-selector! MPSGraphShapedType::shape not bound -!missing-selector! MPSGraphStencilOpDescriptor::boundaryMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::dilationRates not bound -!missing-selector! MPSGraphStencilOpDescriptor::explicitPadding not bound -!missing-selector! MPSGraphStencilOpDescriptor::offsets not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingConstant not bound -!missing-selector! MPSGraphStencilOpDescriptor::paddingStyle not bound -!missing-selector! MPSGraphStencilOpDescriptor::reductionMode not bound -!missing-selector! MPSGraphStencilOpDescriptor::setBoundaryMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setDilationRates: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setExplicitPadding: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setOffsets: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingConstant: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setPaddingStyle: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setReductionMode: not bound -!missing-selector! MPSGraphStencilOpDescriptor::setStrides: not bound -!missing-selector! MPSGraphStencilOpDescriptor::strides not bound -!missing-selector! MPSGraphTensor::dataType not bound -!missing-selector! MPSGraphTensor::operation not bound -!missing-selector! MPSGraphTensor::shape not bound -!missing-selector! MPSGraphTensorData::dataType not bound -!missing-selector! MPSGraphTensorData::device not bound -!missing-selector! MPSGraphTensorData::initWithDevice:data:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::initWithMPSImageBatch: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix: not bound -!missing-selector! MPSGraphTensorData::initWithMPSMatrix:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMPSNDArray: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector: not bound -!missing-selector! MPSGraphTensorData::initWithMPSVector:rank: not bound -!missing-selector! MPSGraphTensorData::initWithMTLBuffer:shape:dataType: not bound -!missing-selector! MPSGraphTensorData::mpsndarray not bound -!missing-selector! MPSGraphTensorData::shape not bound -!missing-selector! MPSGraphVariableOp::dataType not bound -!missing-selector! MPSGraphVariableOp::shape not bound -!missing-type! MPSGraph not bound -!missing-type! MPSGraphCompilationDescriptor not bound -!missing-type! MPSGraphConvolution2DOpDescriptor not bound -!missing-type! MPSGraphCreateSparseOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution2DOpDescriptor not bound -!missing-type! MPSGraphDepthwiseConvolution3DOpDescriptor not bound -!missing-type! MPSGraphDevice not bound -!missing-type! MPSGraphExecutable not bound -!missing-type! MPSGraphExecutableExecutionDescriptor not bound -!missing-type! MPSGraphExecutionDescriptor not bound -!missing-type! MPSGraphOperation not bound -!missing-type! MPSGraphPooling2DOpDescriptor not bound -!missing-type! MPSGraphPooling4DOpDescriptor not bound -!missing-type! MPSGraphShapedType not bound -!missing-type! MPSGraphStencilOpDescriptor not bound -!missing-type! MPSGraphTensor not bound -!missing-type! MPSGraphTensorData not bound -!missing-type! MPSGraphType not bound -!missing-type! MPSGraphVariableOp not bound ## appended from unclassified file -## appended from unclassified file -!missing-selector! MPSGraph::broadcastTensor:toShape:name: not bound -!missing-selector! MPSGraph::broadcastTensor:toShapeTensor:name: not bound -!missing-selector! MPSGraph::castTensor:toType:name: not bound -!missing-selector! MPSGraph::convolution2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolution2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DDataGradientWithIncomingGradientTensor:weightsTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:sourceTensor:outputShapeTensor:forwardConvolutionDescriptor:name: not bound -!missing-selector! MPSGraph::convolutionTranspose2DWithSourceTensor:weightsTensor:outputShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::leakyReLUGradientWithIncomingGradient:sourceTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alpha:name: not bound -!missing-selector! MPSGraph::leakyReLUWithTensor:alphaTensor:name: not bound -!missing-selector! MPSGraph::reshapeTensor:withShapeTensor:name: not bound -!missing-selector! MPSGraph::resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name: not bound -!missing-selector! MPSGraph::scatterNDWithDataTensor:updatesTensor:indicesTensor:batchDimensions:mode:name: not bound -!missing-selector! MPSGraph::scatterWithDataTensor:updatesTensor:indicesTensor:axis:mode:name: not bound -!missing-selector! MPSGraph::scatterWithUpdatesTensor:indicesTensor:shape:axis:mode:name: not bound -!missing-selector! MPSGraph::shapeOfTensor:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:k:name: not bound -!missing-selector! MPSGraph::topKWithGradientTensor:source:kTensor:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:k:name: not bound -!missing-selector! MPSGraph::topKWithSourceTensor:kTensor:name: not bound -!missing-enum! MPSGraphRandomDistribution not bound -!missing-enum! MPSGraphRandomNormalSamplingMethod not bound -!missing-selector! +MPSGraphRandomOpDescriptor::descriptorWithDistribution:dataType: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithCounterLow:counterHigh:key:name: not bound -!missing-selector! MPSGraph::randomPhiloxStateTensorWithSeed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShape:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:seed:name: not bound -!missing-selector! MPSGraph::randomTensorWithShapeTensor:descriptor:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShape:stateTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:seed:name: not bound -!missing-selector! MPSGraph::randomUniformTensorWithShapeTensor:stateTensor:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMaximumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axes:name: not bound -!missing-selector! MPSGraph::reductionMinimumPropagateNaNWithTensor:axis:name: not bound -!missing-selector! MPSGraphRandomOpDescriptor::dataType not bound -!missing-selector! MPSGraphRandomOpDescriptor::distribution not bound -!missing-selector! MPSGraphRandomOpDescriptor::max not bound -!missing-selector! MPSGraphRandomOpDescriptor::maxInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::mean not bound -!missing-selector! MPSGraphRandomOpDescriptor::min not bound -!missing-selector! MPSGraphRandomOpDescriptor::minInteger not bound -!missing-selector! MPSGraphRandomOpDescriptor::samplingMethod not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDataType: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setDistribution: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMax: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMaxInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMean: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMin: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setMinInteger: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setSamplingMethod: not bound -!missing-selector! MPSGraphRandomOpDescriptor::setStandardDeviation: not bound -!missing-selector! MPSGraphRandomOpDescriptor::standardDeviation not bound -!missing-type! MPSGraphRandomOpDescriptor not bound !missing-enum! MPSGraphOptimization not bound !missing-enum! MPSGraphOptimizationProfile not bound !missing-enum! MPSGraphPoolingReturnIndicesMode not bound diff --git a/tools/common/Frameworks.cs b/tools/common/Frameworks.cs index 86436efa9a9e..d170f7fe481f 100644 --- a/tools/common/Frameworks.cs +++ b/tools/common/Frameworks.cs @@ -253,6 +253,7 @@ public static Frameworks MacFrameworks { { "AppTrackingTransparency", "AppTrackingTransparency", 11,0 }, { "CallKit", "CallKit", 11,0 }, { "ClassKit", "ClassKit", 11,0 }, + { "MetalPerformanceShadersGraph", "MetalPerformanceShadersGraph", 11, 0 }, { "MLCompute", "MLCompute", 11,0 }, { "NearbyInteraction", "NearbyInteraction", 11,0 }, { "OSLog", "OSLog", 11,0 }, @@ -425,6 +426,7 @@ public static Frameworks CreateiOSFrameworks (bool is_simulator_build) { "AppClip", "AppClip", 14,0 }, { "AppTrackingTransparency", "AppTrackingTransparency", 14,0 }, { "MediaSetup", "MediaSetup", new Version (14, 0), NotAvailableInSimulator /* no headers in beta 3 */ }, + { "MetalPerformanceShadersGraph", "MetalPerformanceShadersGraph", 14,0 }, { "MLCompute", "MLCompute", new Version (14,0), NotAvailableInSimulator }, { "NearbyInteraction", "NearbyInteraction", 14,0 }, { "ScreenTime", "ScreenTime", 14,0 }, @@ -601,6 +603,7 @@ public static Frameworks TVOSFrameworks { { "AppTrackingTransparency", "AppTrackingTransparency", 14,0 }, { "CoreHaptics", "CoreHaptics", 14, 0 }, { "LinkPresentation", "LinkPresentation", 14,0 }, + { "MetalPerformanceShadersGraph", "MetalPerformanceShadersGraph", new Version (14, 0), NotAvailableInSimulator /* not available in the simulator */ }, { "MLCompute", "MLCompute", new Version (14,0), NotAvailableInSimulator }, { "UniformTypeIdentifiers", "UniformTypeIdentifiers", 14,0 }, { "Intents", "Intents", 14,0 }, diff --git a/tools/linker/ObjCExtensions.cs b/tools/linker/ObjCExtensions.cs index e0cab1368a7c..a67738c1a1ef 100644 --- a/tools/linker/ObjCExtensions.cs +++ b/tools/linker/ObjCExtensions.cs @@ -54,6 +54,7 @@ static class Namespaces { public const string MediaPlayer = nameof (MediaPlayer); public const string MetalKit = nameof (MetalKit); public const string MetalPerformanceShaders = nameof (MetalPerformanceShaders); + public const string MetalPerformanceShadersGraph = nameof (MetalPerformanceShadersGraph); public const string ModelIO = nameof (ModelIO); public const string MultipeerConnectivity = nameof (MultipeerConnectivity); public const string NaturalLanguage = nameof (NaturalLanguage); diff --git a/tools/mtouch/Makefile b/tools/mtouch/Makefile index 9412d75cbc96..155ca7fd2537 100644 --- a/tools/mtouch/Makefile +++ b/tools/mtouch/Makefile @@ -121,6 +121,7 @@ SIMLAUNCHER_FRAMEWORKS = \ -weak_framework Metal \ -weak_framework MetalKit \ -weak_framework MetalPerformanceShaders \ + -weak_framework MetalPerformanceShadersGraph\ \ -weak_framework HealthKitUI \ \