Skip to content

MetalPerformanceShadersGraph macOS xcode13.0 rc

Alex Soto edited this page Sep 14, 2021 · 1 revision

#MetalPerformanceShadersGraph.framework

diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraph.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraph.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraph.h	2021-08-09 03:25:27.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraph.h	2021-08-03 21:51:03.000000000 -0400
@@ -10,15 +10,12 @@
 #define MPSGraph_h
 
 #import <MetalPerformanceShadersGraph/MPSGraphCore.h>
-#import <MetalPerformanceShadersGraph/MPSGraphDevice.h>
 #import <MetalPerformanceShadersGraph/MPSGraphTensor.h>
 #import <MetalPerformanceShadersGraph/MPSGraphTensorData.h>
 #import <MetalPerformanceShadersGraph/MPSGraphOperation.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
-@class MPSGraphExecutable;
-
 /*!
  *  @typedef    MPSGraphOptions
  *  @abstract   Options to be utilized by the graph
@@ -38,12 +35,10 @@
 
 /*! @abstract   A dictionary of tensors and correspondiing tensorData for them
  */
-MPS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
 typedef NSDictionary<MPSGraphTensor*, MPSGraphTensorData *> MPSGraphTensorDataDictionary;
 
 /*! @abstract   A dictionary of tensors and correspondiing shapes for them
  */
-MPS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
 typedef NSDictionary<MPSGraphTensor*, MPSGraphShapedType *> MPSGraphTensorShapedTypeDictionary;
 
 /*! @abstract   A notification when graph execution: has finished
@@ -85,21 +80,6 @@
 
 @end
 
-
-/*! @class      MPSGraphCompilationDescriptor
- *  @abstract   A structure which consists of all the levers users can use to compile their graphs
- *
- */
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphCompilationDescriptor : NSObject
-
-/*!
- *  @brief Turns off type inference and we rely on type inference during runtime
- */
--(void) disableTypeInference;
-
-@end
-
 /*! @class      MPSGraph
  *  @abstract   Optimized representation of a compute graph of MPSGraphOperations and MPSGraphTensors
  *  @discussion An MPSGraph is a symbolic representation of operations to be utilized to execute compute graphs on a device.
@@ -129,23 +109,6 @@
 @property (readonly, nonnull, nonatomic) NSArray<MPSGraphTensor *> *placeholderTensors;
 
 /*!
- *  @abstract   Compiles the graph for given feeds to return targetTensor values, ensuring all target operations would be executed. This call blocks till execution has completed.
- *
- *  @param      device                                                     MPSGraph device to optimize for
- *  @param      feeds                                                       Feeds dictionary for the placeholder tensors
- *  @param      targetTensors                                     Tensors for which the caller wishes MPSGraphTensorData to be returned
- *  @param      targetOperations                              Operations to be completed at the end of the run
- *  @param      compilationDescriptor                   compilation descriptor
- *
- *  @return     A valid MPSGraphExecutable object
- */
--(MPSGraphExecutable *) compileWithDevice:(MPSGraphDevice * _Nullable) device
-                                    feeds:(MPSGraphTensorShapedTypeDictionary *) feeds
-                            targetTensors:(NSArray<MPSGraphTensor *> *) targetTensors
-                         targetOperations:(NSArray<MPSGraphOperation *> * _Nullable) targetOperations
-                    compilationDescriptor:(MPSGraphCompilationDescriptor * _Nullable) compilationDescriptor MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
  *  @abstract   Runs the graph for given feeds to return targetTensor values, ensuring all target operations also executed. This call blocks till execution has completed.
  *
  *  @param      feeds                                                       Feeds dictionary for the placeholder tensors
@@ -253,7 +216,7 @@
  *  @abstract   Encodes graph for given feeds to return targetTensor values, ensuring all target operations also executed.
  *              This call  is asynchronous and will return immediately if a completionHandler is set.
  *
- *  @param      commandBuffer                                      commandBuffer passed to exectute the graph on, it is an MPSCommandBuffer, commitAndContinue might be called, please don't rely on underlying MTLCommandBuffer to remain uncommitted
+ *  @param      commandBuffer                                      commandBuffer passed to exectute the graph on
  *  @param      feeds                                                       Feeds dictionary for the placeholder tensors
  *  @param      targetTensors                                     Tensors for which the caller wishes MPSGraphTensorData to be returned
  *  @param      targetOperations                              Operations to be completed at the end of the run
@@ -272,7 +235,7 @@
  *  @abstract   Encodes the graph for given feeds to return targetTensor values in the resultsDictionary provided by the user,
  *              ensuring all target operations also executed. This call  is asynchronous and will return immediately if a completionHandler is set.
  *
- *  @param      commandBuffer                                      commandBuffer passed to exectute the graph on, commitAndContinue might be called, please don't rely on underlying MTLCommandBuffer to remain uncommitted
+ *  @param      commandBuffer                                      commandBuffer passed to exectute the graph on
  *  @param      feeds                                                       Feeds dictionary for the placeholder tensors
  *  @param      targetOperations                              Operations to be completed at the end of the run
  *  @param      resultsDictionary                            MPSGraphTensors dictionary passed by user, these will be filled with graph output data
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphActivationOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphActivationOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphActivationOps.h	2021-08-07 05:21:47.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphActivationOps.h	2021-08-03 21:51:01.000000000 -0400
@@ -44,28 +44,6 @@
                                                    axis:(NSInteger) axis
                                                    name:(NSString * _Nullable) name;
 
-
-/*!
- * @brief Leaky ReLU activation tensor
- * @discussion Specifies the leaky ReLU activation tensor.
- *             For each pixel, applies the following function: f(x) = max(x, alpha * x)
- */
--(MPSGraphTensor*)leakyReLUWithTensor:(MPSGraphTensor* _Nonnull)tensor
-                                alpha:(double) alpha
-                                 name:(NSString* _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
--(MPSGraphTensor*)leakyReLUWithTensor:(MPSGraphTensor* _Nonnull) tensor
-                          alphaTensor:(MPSGraphTensor* _Nonnull) alphaTensor
-                                 name:(NSString* _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
--(MPSGraphTensor*)leakyReLUGradientWithIncomingGradient:(MPSGraphTensor *) gradient
-                                           sourceTensor:(MPSGraphTensor* _Nonnull) source
-                                            alphaTensor:(MPSGraphTensor* _Nonnull) alphaTensor
-                                                   name:(NSString* _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphArithmeticOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphArithmeticOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphArithmeticOps.h	2021-08-09 03:22:24.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphArithmeticOps.h	2021-08-03 21:51:02.000000000 -0400
@@ -257,43 +257,6 @@
                                         name:(NSString * _Nullable) name
 MPS_SWIFT_NAME( maximum(_:_:name:) );
 
-/*!
- *  @abstract   Create Minimum op and return the result tensor, it supports broadcasting as well. If any of the operands is NaN, NaN is returned
- *
- *  @code
- *              resultTensor = isNaN(primaryTensor) || isNan(secondaryTensor) ? NaN : min(primaryTensor, secondaryTensor)
- *  @endcode
- *
- *  @param      primaryTensor          LHS tensor of the binary Op
- *  @param      secondaryTensor      RHS tensor of the binary Op
- *  @param      name                              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) minimumWithNaNPropagationWithPrimaryTensor:(MPSGraphTensor *) primaryTensor
-                                               secondaryTensor:(MPSGraphTensor *) secondaryTensor
-                                                          name:(NSString * _Nullable) name
-                                                MPS_SWIFT_NAME( minimumWithNaNPropagation(_:_:name:) )
-                                                MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create Maximum op and return the result tensor, it supports broadcasting as well. If any of the operands is NaN, NaN is returned
- *
- *  @code
- *              resultTensor = isNaN(primaryTensor) || isNan(secondaryTensor) ? NaN : max(primaryTensor, secondaryTensor)
- *  @endcode
- *
- *  @param      primaryTensor          LHS tensor of the binary Op
- *  @param      secondaryTensor      RHS tensor of the binary Op
- *  @param      name                              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) maximumWithNaNPropagationWithPrimaryTensor:(MPSGraphTensor *) primaryTensor
-                                               secondaryTensor:(MPSGraphTensor *) secondaryTensor
-                                                          name:(NSString * _Nullable) name
-                                                MPS_SWIFT_NAME( maximumWithNaNPropagation(_:_:name:) )
-                                                MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
 
 
 -(MPSGraphTensor *) equalWithPrimaryTensor:(MPSGraphTensor *) primaryTensor
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphControlFlowOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphControlFlowOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphControlFlowOps.h	2021-08-09 03:25:26.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphControlFlowOps.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,150 +0,0 @@
-//
-//  MPSGraphControlFlow.h
-//  MPSGraph
-//
-//  Created by Dhruv Saksena on 12/27/20.
-//  Copyright © 2020 Apple Inc. All rights reserved.
-//
-
-#ifndef MPSGraphControlFlowOps_h
-#define MPSGraphControlFlowOps_h
-
-#import <MetalPerformanceShadersGraph/MPSGraph.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraph(MPSGraphControlFlowOps)
-
-/*!
- *  @abstract   Defines a scope where all the ops defined in this block get controlDependency operations
- *  @return     A valid MPSGraphTensor array with results forwarded to return of controlDependency call
- */
-typedef NSArray<MPSGraphTensor *> * _Nonnull(^MPSGraphControlFlowDependencyBlock)();
-
-/*!
- *  @abstract   Runs the graph for given feeds to return targetTensor values, ensuring all target operations also executed. This call blocks till execution has completed.
- *
- *  @param      operations                        Operations maked as control dependency for all ops created inside the dependent block
- *  @param      dependentBlock               MPSGraphControlFlowDependencyBlock which is provided by caller to create dependent ops
- *  @param      name                                      name of scope
- *
- *  @return     A valid MPSGraphTensor array with results returned from dependentBlock forwarded
- */
--(NSArray<MPSGraphTensor *> *) controlDependencyWithOperations:(NSArray<MPSGraphOperation *> *) operations
-                                                dependentBlock:(MPSGraphControlFlowDependencyBlock) dependentBlock
-                                                          name:(NSString * _Nullable) name;
-
-/*! @abstract   A block to have if/else condition in it
- *  @return     results  If no error, the tensors returned by user. If not empty, user must define both then/else block,
- *              both should have same number of arguments and each corresponding argument should have same elementTypes.
- */
-typedef NSArray<MPSGraphTensor *> * _Nonnull(^MPSGraphIfThenElseBlock)();
-
-/*!
- *  @abstract   Add an if/then/else op to the graph
- *
- *  @param      predicateTensor             Tensor must have a single scalar value, used to decide between then/else branches
- *  @param      thenBlock                          If predicate is true operations in this block are executed
- *  @param      elseBlock                          If predicate is false operations in this block are executed
- *  @param      name                                     name of operation
- *
- *  @return     results  If no error, the tensors returned by user. If not empty, user must define both then/else block,
- *              both should have same number of arguments and each corresponding argument should have same elementTypes.
- */
--(NSArray<MPSGraphTensor *> *) ifWithPredicateTensor:(MPSGraphTensor *) predicateTensor
-                                           thenBlock:(MPSGraphIfThenElseBlock) thenBlock
-                                           elseBlock:(MPSGraphIfThenElseBlock _Nullable) elseBlock
-                                                name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( if(_:then:else:name:) );
-
-/*!
- *  @abstract   While loop before block, this block executes before the condition is evaluated for each iteration
- *
- *  @param      inputTensors                                     inputTensors to the whileConditionBlock, for the 1st iteration will be same as initialInputs passed to the whileLoop
- *  @param      resultTensors                                   A valid MPSGraphTensor array with results forwarded to after block or returned from the whileLoop depending on the predicateTensor.
- *                                           It will be empty and the caller block should fill it up before returning.
- *
- *  @return     Tensor MUST be set and have a single scalar value, used to decide between executing the bodyBlock or returning from the whileLoop
- */
-typedef MPSGraphTensor *_Nonnull(^MPSGraphWhileBeforeBlock)(NSArray<MPSGraphTensor *> *inputTensors,
-                                                            NSMutableArray<MPSGraphTensor *> *_Nonnull resultTensors);
-
-/*!
- *  @abstract   While loop after block, this block executes after the condition is evaluated for each iteration
- *
- *  @param      bodyBlockArguments                             inputs to the body of the whileLoop passed by the conditionBlock return, should be the same element types as the return of the whileLoop
- *
- *  @return     A valid MPSGraphTensor array with results forwarded to condition block
- */
-typedef NSArray<MPSGraphTensor *> * _Nonnull(^MPSGraphWhileAfterBlock)(NSArray<MPSGraphTensor *> *bodyBlockArguments);
-
-/*!
- *  @abstract   Adds a whileLoop operation
- *
- *  @param      initialInputs                                         inputTensors to the whileBeforeBlock, for the 1st iteration will be same as initialInputs passed to the whileLoop
- *  @param      before                                                         beforeBlock, this will be run first and then call the afterBlock with results or return results from the loop
- *  @param      after                                                           afterBlock, this will execute after the condition evaluation
- *  @param      name                                                             name of operation
- *
- *  @return     A valid MPSGraphTensor array with results returned from the conditionBlock depending on the predicateTensor
- */
--(NSArray<MPSGraphTensor *> *) whileWithInitialInputs:(NSArray<MPSGraphTensor *> *) initialInputs
-                                               before:(MPSGraphWhileBeforeBlock) before
-                                                after:(MPSGraphWhileAfterBlock) after
-                                                 name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( while(initialInputs:before:after:name:) );
-
-
-/*!
- *  @abstract   A block for the body in the for loop
- *
- *  @param      index                                                       loopIndex per iteration, it is a scalar tensor
- *  @param      iterationArguments                          arguments for this iteration, same count and corresponding elementTypes as initialIterationArguments and return types of the forLoop
- *
- *  @return     A valid MPSGraphTensor array with same count and corresponding elementTypes as initialIterationArguments and return types of the forLoop
- */
-typedef NSArray<MPSGraphTensor *> * _Nonnull(^MPSGraphForLoopBodyBlock)(MPSGraphTensor *index,
-                                                                        NSArray<MPSGraphTensor *> *iterationArguments);
-
-/*!
- *  @abstract   Adds a forLoop operation, The lower and upper bounds specify a half-open range: the range includes the lower bound but does not include the upper bound.
- *
- *  @param      lowerBound                                                   lowerBound value of the loop, this is a scalar tensor, this is the index the loop will start with
- *  @param      upperBound                                                   upperBound value of the loop, this is a scalar tensor
- *  @param      step                                                                step value of the loop, this is a scalar tensor and must be positive
- *  @param      initialBodyArguments                             initial set of iteration arguments passed to the bodyBlock of the for loop
- *  @param      body                                                                bodyBlock, this will execute the body of the forLoop
- *  @param      name                                                                name of operation
- *
- *  @return     A valid MPSGraphTensor array with same count and corresponding elementTypes as initialIterationArguments and return types of the forLoop
- */
--(NSArray<MPSGraphTensor *> *) forLoopWithLowerBound:(MPSGraphTensor *) lowerBound
-                                          upperBound:(MPSGraphTensor *) upperBound
-                                                step:(MPSGraphTensor *) step
-                                initialBodyArguments:(NSArray<MPSGraphTensor *> *)initialBodyArguments
-                                                body:(MPSGraphForLoopBodyBlock) body
-                                                name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( for(lowerBound:upperBound:step:initialBodyArguments:body:name:) );
-
-/*!
- *  @abstract   Adds a forLoop operation, with a specific number of iterations
- *
- *  @param      numberOfIterations                                tensor with number of iterations the loop will execute
- *  @param      initialBodyArguments                            initial set of iteration arguments passed to the bodyBlock of the for loop
- *  @param      body                                                                bodyBlock, this will execute the body of the forLoop, index will go from 0 to numberOfIterations-1
- *  @param      name                                                                name of operation
- *
- *  @return     A valid MPSGraphTensor array with same count and corresponding elementTypes as initialIterationArguments and return types of the forLoop
- */
--(NSArray<MPSGraphTensor *> *) forLoopWithNumberOfIterations:(MPSGraphTensor *) numberOfIterations
-                                        initialBodyArguments:(NSArray<MPSGraphTensor *> *)initialBodyArguments
-                                                        body:(MPSGraphForLoopBodyBlock) body
-                                                        name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( for(numberOfIterations:initialBodyArguments:body:name:) );
-
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif /* MPSGraphControlFlowOps_h */
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphConvolutionOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphConvolutionOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphConvolutionOps.h	2021-08-07 05:21:46.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphConvolutionOps.h	2021-08-03 21:51:01.000000000 -0400
@@ -79,19 +79,6 @@
                                              name:(NSString * _Nullable) name
 MPS_SWIFT_NAME( convolution2D(_:weights:descriptor:name:) );
 
-/*!
- *  @abstract   Create Convolution gradient op and return the result tensor
- *  @discussion Computes the gradient of source input for the forward pass Convolution op with identical parameters.
- *              See discussion of convolution2DWithSourceTensor for more in depth description of  paramters.
- *
- *  @param      incomingGradient                              Incoming gradient tensor
- *  @param      weights                                                  Forward pass weights tensor
- *  @param      outputShape                                         Shape of the forward pass source tensor
- *  @param      forwardConvolutionDescriptor   Forward pass op descriptor
- *  @param      name                                                        The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
 -(MPSGraphTensor *) convolution2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor *) incomingGradient
                                                           weightsTensor:(MPSGraphTensor *) weights
                                                             outputShape:(MPSShape *) outputShape
@@ -99,40 +86,6 @@
                                                                    name:(NSString * _Nullable) name
 MPS_SWIFT_NAME( convolution2DDataGradient(_:weights:outputShape:forwardConvolutionDescriptor:name:) );
 
-/*!
- *  @abstract   Create Convolution gradient op and return the result tensor
- *  @discussion Computes the gradient of source input for the forward pass Convolution op with identical parameters.
- *              See discussion of convolution2DWithSourceTensor for more in depth description of  paramters.
- *
- *  @param      gradient                                                Incoming gradient tensor
- *  @param      weights                                                  Forward pass weights tensor
- *  @param      outputShapeTensor                           1D Int32 or Int64 Tensor. Shape of the forward pass source tensor
- *  @param      forwardConvolutionDescriptor   Forward pass op descriptor
- *  @param      name                                                        The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) convolution2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor *) gradient
-                                                          weightsTensor:(MPSGraphTensor *) weights
-                                                      outputShapeTensor:(MPSGraphTensor *) outputShapeTensor
-                                           forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor *) forwardConvolutionDescriptor
-                                                                   name:(NSString * _Nullable) name
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-MPS_SWIFT_NAME( convolution2DDataGradient(_:weights:outputShapeTensor:forwardConvolutionDescriptor:name:) );
-
-/*!
- *  @abstract   Create Convolution gradient op and return the result tensor
- *  @discussion Computes the gradient of weights input for the forward pass Convolution op with identical parameters.
- *              See discussion of convolution2DWithSourceTensor for more in depth description of  paramters.
- *
- *  @param      incomingGradient                              Incoming gradient tensor
- *  @param      source                                                    Forward pass source tensor
- *  @param      outputShape                                         Shape of the forward pass weights tensor
- *  @param      forwardConvolutionDescriptor   Forward pass op descriptor
- *  @param      name                                                        The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
 -(MPSGraphTensor *) convolution2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor *) incomingGradient
                                                               sourceTensor:(MPSGraphTensor *) source
                                                                outputShape:(MPSShape *) outputShape
@@ -140,27 +93,6 @@
                                                                       name:(NSString * _Nullable) name
 MPS_SWIFT_NAME( convolution2DWeightsGradient(_:source:outputShape:forwardConvolutionDescriptor:name:) );
 
-/*!
- *  @abstract   Create Convolution gradient op and return the result tensor
- *  @discussion Computes the gradient of weights input for the forward pass Convolution op with identical parameters.
- *              See discussion of convolution2DWithSourceTensor for more in depth description of  paramters.
- *
- *  @param      gradient                                                Incoming gradient tensor
- *  @param      source                                                    Forward pass source tensor
- *  @param      outputShapeTensor                           1D int32 or Int64 Tensor. Shape of the forward pass weights tensor
- *  @param      forwardConvolutionDescriptor   Forward pass op descriptor
- *  @param      name                                                        The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) convolution2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor *) gradient
-                                                              sourceTensor:(MPSGraphTensor *) source
-                                                         outputShapeTensor:(MPSGraphTensor *) outputShapeTensor
-                                              forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor *) forwardConvolutionDescriptor
-                                                                      name:(NSString * _Nullable) name
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-MPS_SWIFT_NAME( convolution2DWeightsGradient(_:source:outputShapeTensor:forwardConvolutionDescriptor:name:) );
-
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphConvolutionTransposeOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphConvolutionTransposeOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphConvolutionTransposeOps.h	2021-08-09 03:25:26.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphConvolutionTransposeOps.h	2021-08-03 21:51:02.000000000 -0400
@@ -16,30 +16,18 @@
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
 @interface MPSGraph(MPSGraphConvolutionTransposeOps)
 
-/*!
- *  @abstract   Create ConvolutionTranspose op and return the result tensor
- *  @discussion Convolution Tranpose op is exactly the same as convolution gradint with respect to input image (convolution2DDataGradient)
- *              Weights tensor and source tensors are interpreted as they are in convolution2DDataGradientWithIncomingGradient. For example
- *              if weightsTensor layout is HWIO, inner most (fastest moving) dimension, denoted by O here should be equal to inputFeatureChannels
- *              i.e. number of channels in source tensor
- *              and next fasted moving dimension denoated by I is equal to number of channels in returns (destination) tensor outputFeatureChannels.
- *              TensorFlow interprets the weights tensor same way excpet that it states weights are in HWOI format. We dont define another weights format enum
- *              rather we reinterpret HWIO just like TensorFlow does for gradient with data.
- *              Normally in auto encoder, convoluton transpose is associated with regular convolution i.e. convolution downsamples by stride s
- *              and convolution tranpose upsamples by factor s.
- *              In that case, convolution transpose can map same source size to multiple destination sizes. The relationship between sourceWidth and destinationWidth is
- *              (sourceWidth - 1) * stride + 1 + (kernelWidth - 1) * dilationRate <= destinationWidth + paddingLeft + paddingRight
- *              so there are stride -1 destinationWidth that give same sourceWidth. In order to disambiguate, outputShape parameter is used.
- *              This is what TensorFlow does.
- *              PyTourch takes additional outputPadding that is applied to destination size.
- *
- * @param       source             input tensor
- * @param       weights           weights tensor
- * @param       outputShape  shape of the result tensor
- * @param       descriptor    descriptor for the corresponding forward Conv2d operation
- * @param       name                 name for the operation
- *
- * @return      A valid MPSGraphTensor object.
+/*! Convolution Tranpose op is exactly the same as convolution gradint with respect to input image (convolution2DDataGradient)
+ *  Weights tensor and source tensors are interpreted as they are in convolution2DDataGradientWithIncomingGradient. For example
+ *  if weightsTensor layout is HWIO, inner most (fastest moving) dimension, denoted by O here should be equal to inputFeatureChannels i.e. number of channels in source tensor
+ *  and next fasted moving dimension denoated by I is equal to number of channels in returns (destination) tensor outputFeatureChannels.
+ *  TensorFlow interprets the weights tensor same way excpet that it states weights are in HWOI format. We dont define another weights format enum
+ *  rather we reinterpret HWIO just like TensorFlow does for gradient with data. 
+ *  Normally in auto encoder, convoluton transpose
+ *  is associated with regular convolution i.e. convolution downsamples by stride s and convolution tranpose upsamples by factor s. In that case, convolution
+ *  transpose can map same source size to multiple destination sizes. The relationship between sourceWidth and destinationWidth is
+ *                     (sourceWidth - 1) * stride + 1 + (kernelWidth - 1) * dilationRate <= destinationWidth + paddingLeft + paddingRight
+ *  so there are stride -1 destinationWidth that give same sourceWidth. In order to disambiguate, outputShape parameter is used. This is what TensorFlow does.
+ *  PyTourch takes additional outputPadding that is applied to destination size.
  */
 -(MPSGraphTensor *) convolutionTranspose2DWithSourceTensor:(MPSGraphTensor *) source
                                              weightsTensor:(MPSGraphTensor *) weights
@@ -48,52 +36,6 @@
                                                       name:(NSString * _Nullable) name
 MPS_SWIFT_NAME( convolutionTranspose2D(_:weights:outputShape:descriptor:name:) );
 
-/*!
- *  @abstract   Create ConvolutionTranspose op and return the result tensor
- *  @discussion Convolution Tranpose op is exactly the same as convolution gradint with respect to input image (convolution2DDataGradient)
- *              Weights tensor and source tensors are interpreted as they are in convolution2DDataGradientWithIncomingGradient. For example
- *              if weightsTensor layout is HWIO, inner most (fastest moving) dimension, denoted by O here should be equal to inputFeatureChannels
- *              i.e. number of channels in source tensor
- *              and next fasted moving dimension denoated by I is equal to number of channels in returns (destination) tensor outputFeatureChannels.
- *              TensorFlow interprets the weights tensor same way excpet that it states weights are in HWOI format. We dont define another weights format enum
- *              rather we reinterpret HWIO just like TensorFlow does for gradient with data.
- *              Normally in auto encoder, convoluton transpose is associated with regular convolution i.e. convolution downsamples by stride s
- *              and convolution tranpose upsamples by factor s.
- *              In that case, convolution transpose can map same source size to multiple destination sizes. The relationship between sourceWidth and destinationWidth is
- *              (sourceWidth - 1) * stride + 1 + (kernelWidth - 1) * dilationRate <= destinationWidth + paddingLeft + paddingRight
- *              so there are stride -1 destinationWidth that give same sourceWidth. In order to disambiguate, outputShape parameter is used.
- *              This is what TensorFlow does.
- *              PyTourch takes additional outputPadding that is applied to destination size.
- *
- * @param       source             input tensor
- * @param       weights           weights tensor
- * @param       outputShape  1D Int32 or Int64 tensor. shape of the result tensor
- * @param       descriptor    descriptor for the corresponding forward Conv2d operation
- * @param       name                 name for the operation
- *
- * @return      A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) convolutionTranspose2DWithSourceTensor:(MPSGraphTensor *) source
-                                             weightsTensor:(MPSGraphTensor *) weights
-                                         outputShapeTensor:(MPSGraphTensor*) outputShape
-                                                descriptor:(MPSGraphConvolution2DOpDescriptor *) descriptor
-                                                      name:(NSString * _Nullable) name
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-MPS_SWIFT_NAME( convolutionTranspose2D(_:weights:outputShapeTensor:descriptor:name:) );
-
-/*!
- *  @abstract   Create ConvolutionTranspose gradient op and return the result tensor
- *  @discussion Computes the gradient of source input for the forward pass ConvolutionTranspose op with identical parameters.
- *              See discussion of convolutionTranspose2DWithSourceTensor for more in depth description of  paramters.
- *
- *  @param      incomingGradient                              Incoming gradient tensor
- *  @param      weights                                                  Forward pass weights tensor
- *  @param      outputShape                                         Shape of the forward pass source tensor
- *  @param      forwardConvolutionDescriptor   Forward pass op descriptor
- *  @param      name                                                        The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
 -(MPSGraphTensor *) convolutionTranspose2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor *) incomingGradient
                                                                    weightsTensor:(MPSGraphTensor *) weights
                                                                      outputShape:(MPSShape *) outputShape
@@ -101,40 +43,6 @@
                                                                             name:(NSString * _Nullable) name
 MPS_SWIFT_NAME( convolutionTranspose2DDataGradient(_:weights:outputShape:forwardConvolutionDescriptor:name:) );
 
-/*!
- *  @abstract   Create ConvolutionTranspose gradient op and return the result tensor
- *  @discussion Computes the gradient of source input for the forward pass ConvolutionTranspose op with identical parameters.
- *              See discussion of convolutionTranspose2DWithSourceTensor for more in depth description of  paramters.
- *
- *  @param      incomingGradient                              Incoming gradient tensor
- *  @param      weights                                                  Forward pass weights tensor
- *  @param      outputShape                                         1D Int32 or Int64 Tensor. Shape of the forward pass source tensor
- *  @param      forwardConvolutionDescriptor   Forward pass op descriptor
- *  @param      name                                                        The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) convolutionTranspose2DDataGradientWithIncomingGradientTensor:(MPSGraphTensor *) incomingGradient
-                                                                   weightsTensor:(MPSGraphTensor *) weights
-                                                               outputShapeTensor:(MPSGraphTensor *) outputShape
-                                                    forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor *) forwardConvolutionDescriptor
-                                                                            name:(NSString * _Nullable) name
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-MPS_SWIFT_NAME( convolutionTranspose2DDataGradient(_:weights:outputShapeTensor:forwardConvolutionDescriptor:name:) );
-
-/*!
- *  @abstract   Create ConvolutionTranspose gradient op and return the result tensor
- *  @discussion Computes the gradient of weights input for the forward pass ConvolutionTranspose op with identical parameters.
- *              See discussion of convolutionTranspose2DWithSourceTensor for more in depth description of  paramters.
- *
- *  @param      incomingGradientTensor                 Incoming gradient tensor
- *  @param      source                                                    Forward pass source tensor
- *  @param      outputShape                                         Shape of the forward pass source weights tensor
- *  @param      forwardConvolutionDescriptor   Forward pass op descriptor
- *  @param      name                                                        The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
 -(MPSGraphTensor *) convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor *) incomingGradientTensor
                                                                        sourceTensor:(MPSGraphTensor *) source
                                                                         outputShape:(MPSShape *) outputShape
@@ -142,27 +50,6 @@
                                                                                name:(NSString * _Nullable) name
 MPS_SWIFT_NAME( convolutionTranspose2DWeightsGradient(_:weights:outputShape:forwardConvolutionDescriptor:name:) );
 
-/*!
- *  @abstract   Create ConvolutionTranspose gradient op and return the result tensor
- *  @discussion Computes the gradient of weights input for the forward pass ConvolutionTranspose op with identical parameters.
- *              See discussion of convolutionTranspose2DWithSourceTensor for more in depth description of  paramters.
- *
- *  @param      incomingGradientTensor                 Incoming gradient tensor
- *  @param      source                                                    Forward pass source tensor
- *  @param      outputShape                                         1D Int32 or Int64 Tensor. Shape of the forward pass source weights tensor
- *  @param      forwardConvolutionDescriptor   Forward pass op descriptor
- *  @param      name                                                        The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) convolutionTranspose2DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor *) incomingGradientTensor
-                                                                       sourceTensor:(MPSGraphTensor *) source
-                                                                  outputShapeTensor:(MPSGraphTensor *) outputShape
-                                                       forwardConvolutionDescriptor:(MPSGraphConvolution2DOpDescriptor *) forwardConvolutionDescriptor
-                                                                               name:(NSString * _Nullable) name
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-MPS_SWIFT_NAME( convolutionTranspose2DWeightsGradient(_:weights:outputShapeTensor:forwardConvolutionDescriptor:name:) );
-
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphCore.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphCore.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphCore.h	2021-08-07 08:51:27.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphCore.h	2021-08-03 21:51:02.000000000 -0400
@@ -14,13 +14,8 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphType: NSObject<NSCopying>
-
-@end
-
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
-@interface MPSGraphShapedType: MPSGraphType
+@interface MPSGraphShapedType: NSObject<NSCopying>
 
 /*! @property   shape
  *  @discussion shape of the shapedType
@@ -71,61 +66,30 @@
  *  @typedef    MPSGraphPaddingStyle
  *  @abstract   Tensor Layout
  *
- *  @constant   MPSGraphPaddingStyleExplicit                Explicit
+ *  @constant   MPSGraphPaddingStyleExplicit                 Explicit
  *  @constant   MPSGraphPaddingStyleTF_SAME           TF_SAME
  *  @constant   MPSGraphPaddingStyleTF_VALID           TF_VALID
- *  @constant   MPSGraphPaddingStyleExplicitOffset       Explicit offsets
  */
 typedef NS_ENUM(NSUInteger, MPSGraphPaddingStyle)
 {
-    MPSGraphPaddingStyleExplicit            MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0)) MPS_SWIFT_NAME(explicit)   =  0L,
-    MPSGraphPaddingStyleTF_VALID            MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                            =  1L,
-    MPSGraphPaddingStyleTF_SAME             MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                            =  2L,
-    MPSGraphPaddingStyleExplicitOffset      MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))                            =  3L,
+    MPSGraphPaddingStyleExplicit       MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0)) MPS_SWIFT_NAME(explicit)   =  0L,
+    MPSGraphPaddingStyleTF_VALID       MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                            =  1L,
+    MPSGraphPaddingStyleTF_SAME        MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                            =  2L,
 };
 
 /*!
  *  @typedef    MPSGraphPaddingMode
  *  @abstract   Tensor Padding mode
  *
- *  @constant   MPSGraphPaddingModeConstant                    Constant
- *  @constant   MPSGraphPaddingModeReflect                       Reflect
- *  @constant   MPSGraphPaddingModeSymmetric                 Symmetric
- *  @constant   MPSGraphPaddingModeClampToEdge           ClampToEdge (PyTorch ReplicationPad)
- *  @constant   MPSGraphPaddingModeZero                           Zero
- *  @constant   MPSGraphPaddingModePeriodic                     Periodic
- *  @constant   MPSGraphPaddingModeAntiPeriodic               Anti Periodic
+ *  @constant   MPSGraphPaddingModeConstant                 Constant
+ *  @constant   MPSGraphPaddingModeReflect                    Reflect
+ *  @constant   MPSGraphPaddingModeSymmetric              Symmetric
  */
 typedef NS_ENUM(NSInteger, MPSGraphPaddingMode)
 {
-    MPSGraphPaddingModeConstant          MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0)) MPS_SWIFT_NAME(constant) =  0L,
-    MPSGraphPaddingModeReflect           MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                          =  1L,
-    MPSGraphPaddingModeSymmetric         MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                          =  2L,
-    MPSGraphPaddingModeClampToEdge       MPS_ENUM_AVAILABLE_STARTING(macos(11.1), ios(15.0), tvos(15.0))                          =  3L,
-    MPSGraphPaddingModeZero              MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))                          =  4L,
-    MPSGraphPaddingModePeriodic          MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))                          =  5L, // x[-2] -> x[L-3], where L is size of x.
-    MPSGraphPaddingModeAntiPeriodic      MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))                          =  6L, // x[-2] -> -x[L-3]
-};
-
-/*!
- *  @typedef    MPSGraphStencilReductionMode
- *  @abstract   Reduction Mode
- *
- *  @constant   MPSGraphReductionModeMin                        Min
- *  @constant   MPSGraphReductionModeMax                       Max
- *  @constant   MPSGraphReductionModeSum                       Sum
- *  @constant   MPSGraphReductionModeProduct                  Product
- *  @constant   MPSGraphReductionModeArgumentMin         Argument Min
- *  @constant   MPSGraphReductionModeArgumentMax        Argument Max
- */
-typedef NS_ENUM(NSUInteger, MPSGraphReductionMode)
-{
-    MPSGraphReductionModeMin             MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))     =  0L,
-    MPSGraphReductionModeMax             MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))     =  1L,
-    MPSGraphReductionModeSum             MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))     =  2L,
-    MPSGraphReductionModeProduct         MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))     =  3L,
-    MPSGraphReductionModeArgumentMin     MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))     =  4L,
-    MPSGraphReductionModeArgumentMax     MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))     =  5L
+    MPSGraphPaddingModeConstant     MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0)) MPS_SWIFT_NAME(constant) =  0L,
+    MPSGraphPaddingModeReflect      MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                          =  1L,
+    MPSGraphPaddingModeSymmetric    MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                          =  2L,
 };
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphDepthwiseConvolutionOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphDepthwiseConvolutionOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphDepthwiseConvolutionOps.h	2021-08-07 08:51:26.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphDepthwiseConvolutionOps.h	2021-08-03 21:51:01.000000000 -0400
@@ -45,83 +45,13 @@
 +(nullable instancetype) descriptorWithDataLayout:(MPSGraphTensorNamedDataLayout) dataLayout
                                     weightsLayout:(MPSGraphTensorNamedDataLayout) weightsLayout;
 
+
 -(void) setExplicitPaddingWithPaddingLeft:(NSUInteger) paddingLeft
                              paddingRight:(NSUInteger) paddingRight
                                paddingTop:(NSUInteger) paddingTop
                             paddingBottom:(NSUInteger) paddingBottom;
-@end
 
 
-/*!
- *  @class      MPSGraphDepthwiseConvolution3DOpDescriptor
- *  @abstract   Defines a 3d depthwise convolution operation
- */
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphDepthwiseConvolution3DOpDescriptor : NSObject<NSCopying>
-
-/*!
- *  @property   strides
- *  @discussion Must be three numbers, one for each spatial dimension, fastest running index last.
- *              Default value: @code @[ @1, @1, @1 ] @endcode
- */
-@property (readwrite, nonatomic, copy) NSArray<NSNumber *> * _Nonnull   strides;
-
-/*!
- *  @property   dilationRates
- *  @discussion Must be three numbers, one for each spatial dimension, fastest running index last.
- *              Default value: @code @[ @1, @1, @1 ] @endcode
- */
-@property (readwrite, nonatomic, copy) NSArray<NSNumber *> * _Nonnull   dilationRates;
-
-/*!
- *  @property   paddingValues
- *  @discussion Must be six numbers, two for each spatial dimension. `paddingValues[0]` defines the explicit padding
- *              amount before the first spatial dimension (slowest running index of spatial dimensions),
- *              `paddingValues[1]` defines the padding amount after the first spatial dimension etc.
- *              Used only when `paddingStyle = MPSGraphPaddingStyleExplicit`.
- *              Default value: @code @[ @0, @0, @0, @0, @0, @0 ] @endcode
- */
-@property (readwrite, nonatomic, copy) NSArray<NSNumber *> * _Nonnull   paddingValues;
-
-/*!
- *  @property   paddingStyle
- *  @discussion Defines what kind of padding to apply to operation.
- *              Default value: @code MPSGraphPaddingStyleExplicit @endcode
- */
-@property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle;
-
-/*!
- *  @property   channelDimensionIndex
- *  @discussion Defines which axis contains the channels in the input and the weights, within
- *              the 4d tile of the last dimensions. For example the value of @code -1 @endcode
- *              corresponds to @code NDHWC, NHWC @endcode layouts. This allows the placement
- *              of the channel index anywhere within the last 4 dimensions of the tensor. In case the
- *              weights are in a different layout it is recommended to bring them to the same layout
- *              as inputs using transposes or permutations.
- *              Default value: @code -4 @endcode, corresponds to @code NCDHW @endcode
- *              and @code CDHW @endcode layouts.
- */
-@property (readwrite, nonatomic) NSInteger channelDimensionIndex;
-/*!
- *  @abstract   Creates a 3d depthwise convolution descriptor with given values.
- *  @param      strides                 See corresponding property above.
- *  @param      dilationRates    See corresponding property above.
- *  @param      paddingValues    See corresponding property above.
- *  @param      paddingStyle      See corresponding property above.
- *  @return     The descriptor on autoreleasepool.
- */
-+(nullable instancetype) descriptorWithStrides:(NSArray<NSNumber *> * _Nonnull) strides
-                                 dilationRates:(NSArray<NSNumber *> * _Nonnull) dilationRates
-                                 paddingValues:(NSArray<NSNumber *> * _Nonnull) paddingValues
-                                  paddingStyle:(MPSGraphPaddingStyle) paddingStyle;
-
-/*!
- *  @abstract   Creates a 3d depthwise convolution descriptor with default values.
- *  @param      paddingStyle      See corresponding property above.
- *  @return     The descriptor on autoreleasepool.
- */
-+(nullable instancetype) descriptorWithPaddingStyle:(MPSGraphPaddingStyle) paddingStyle;
-
 @end
 
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
@@ -146,66 +76,7 @@
                                                                         outputShape:(MPSShape *) outputShape
                                                                          descriptor:(MPSGraphDepthwiseConvolution2DOpDescriptor *) descriptor
                                                                                name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( depthwiseConvolution2DWeightsGradient(_:source:outputShape:descriptor:name:));
-
-#pragma mark - 3D Depthwise convolution
-
-/*!
- *  @abstract   Create 3d depthwise convolution operation and return the result tensor.
- *  @discussion Just like depthwise convolution2d, but in three dimensions. Different layouts are supported by using
- *              the @code channelDimensionIndex @endcode property. If your weights need a different layout
- *              add a permute operation on them before this operation.
-
- *  @param      source              3d Image source as tensor - must be at least rank=4 (CDHW when channelDimensionIndex = -4).
- *  @param      weights             Weights tensor, must be rank=4 - axes are interpreted as CDHW when channelDimensionIndex = -4 .
- *  @param      descriptor      Specifies strides, dilation rates and paddings.
- *  @param      name                    The name for the operation.
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) depthwiseConvolution3DWithSourceTensor:(MPSGraphTensor *) source
-                                             weightsTensor:(MPSGraphTensor *) weights
-                                                descriptor:(MPSGraphDepthwiseConvolution3DOpDescriptor* _Nonnull) descriptor
-                                                      name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( depthwiseConvolution3D(_:weights:descriptor:name:))
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create 3d depthwise convolution gradient for data operation and return the result tensor.
-
- *  @param      incomingGradient        3d input gradient tensor - must be at least rank=4 (CDHW).
- *  @param      weights                 Weights tenstor, must be rank=4 - axes are interpreted as CDHW.
- *  @param      outputShape             Shape of the οutput tensor (and therefore input tensor of forward pass).
- *  @param      descriptor                  Specifies strides, dilation rates and paddings.
- *  @param      name                    The name for the operation (NCDHW).
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) depthwiseConvolution3DDataGradientWithIncomingGradientTensor:(MPSGraphTensor *) incomingGradient
-                                                                   weightsTensor:(MPSGraphTensor *) weights
-                                                                     outputShape:(MPSShape * _Nullable) outputShape
-                                                                      descriptor:(MPSGraphDepthwiseConvolution3DOpDescriptor* _Nonnull) descriptor
-                                                                            name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( depthwiseConvolution3DDataGradient(_:weights:outputShape:descriptor:name:))
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create 3d depthwise convolution gradient for weights operation and return the result tensor.
-
- *  @param      incomingGradient              3d input gradient tensor - must be at least rank=4 (NCDHW).
- *  @param      source             Forward pass 3d Image source as tensor - must be at least rank=4 (NCDHW).
- *  @param      outputShape    Shape of the οutput tensor (and therefore weight tensor of forward pass).
- *  @param      descriptor      Specifies strides, dilation rates and paddings.
- *  @param      name                    The name for the operation (NCDHW).
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) depthwiseConvolution3DWeightsGradientWithIncomingGradientTensor:(MPSGraphTensor *) incomingGradient
-                                                                       sourceTensor:(MPSGraphTensor *) source
-                                                                        outputShape:(MPSShape *) outputShape
-                                                                         descriptor:(MPSGraphDepthwiseConvolution3DOpDescriptor *) descriptor
-                                                                               name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( depthwiseConvolution3DWeightsGradient(_:source:outputShape:descriptor:name:));
+MPS_SWIFT_NAME( depthwiseConvolution2DWeightsGradient(_:source:outputShape:descriptor:name:) );
 
 @end
 
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphDevice.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphDevice.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphDevice.h	2021-08-07 05:21:47.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphDevice.h	2021-08-03 21:51:01.000000000 -0400
@@ -27,7 +27,7 @@
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
 @interface MPSGraphDevice : NSObject
 
-/*! @property   type
+/*! @property   deviceType
  */
 @property (readonly, nonatomic) MPSGraphDeviceType type;
 
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphExecutable.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphExecutable.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphExecutable.h	2021-08-07 08:51:26.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphExecutable.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,141 +0,0 @@
-//
-//  MPSGraphExecutable.h
-//  MPSGraph
-//
-//  Created by Dhruv Saksena on 4/11/21.
-//  Copyright © 2021 Apple Inc. All rights reserved.
-//
-
-#ifndef MPSGraphExecutable_h
-#define MPSGraphExecutable_h
-
-#import <MetalPerformanceShadersGraph/MPSGraph.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/*! @abstract   A notification when graph executable execution: has finished
- *  @param      results  If no error, the results produced by the graph operation.
- *  @param      error   If an error occurs, more information might be found here.
- */
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-typedef void (^MPSGraphExecutableCompletionHandler)(NSArray<MPSGraphTensorData *> * results,
-                                                    NSError * _Nullable error);
-
-/*! @abstract   A notification when graph executable execution: has finished
- *  @param      results  If no error, the results produced by the graph operation.
- *  @param      error   If an error occurs, more information might be found here.
- */
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-typedef void (^MPSGraphExecutableScheduledHandler)(NSArray<MPSGraphTensorData *> * results,
-                                                   NSError * _Nullable error);
-
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphExecutableExecutionDescriptor : NSObject
-
-/*! @property   scheduledHandler
- *  @discussion scheduledHandler for the graph executable, default value is nil
- */
-@property (readwrite, atomic) MPSGraphExecutableScheduledHandler scheduledHandler;
-
-/*! @property   completionHandler
- *  @discussion completionHandler for the graph executable, default value is nil
- */
-@property (readwrite, atomic) MPSGraphExecutableCompletionHandler completionHandler;
-
-/*! @property   waitUntilCompleted
- *  @discussion waitUntilCompleted for the graph executable, default value is false
- */
-@property (readwrite, atomic) BOOL waitUntilCompleted;
-
-@end
-
-/*! @class      MPSGraphExecutable
- *  @abstract   Compiled representation of a compute graph executable
- *  @discussion An MPSGraphExecutable is a compiled graph for specific feeds for  specific targetTensors and targetOperations
- *
- */
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphExecutable : NSObject
-
-/*! @property   options
- *  @discussion options for the graph, default value is MPSGraphOptionsDefault
- */
-@property (readwrite, atomic) MPSGraphOptions options;
-
-/*! @property   feedTensors
- *  @discussion feedTensors for the graph, can be used to order the inputs when executable was created with an MPSGraph
- */
-@property (readonly, atomic, nullable) NSArray<MPSGraphTensor *> *feedTensors;
-
-/*! @property   targetTensors
- *  @discussion targetTensors for the graph, can be used to order the outputs when executable was created with an MPSGraph
- */
-@property (readonly, atomic, nullable) NSArray<MPSGraphTensor *> *targetTensors;
-
-/*!
- *  @abstract   Specialize MLIR module and optimize it
- *
- *  @param      device                                   optional MPSGraph device to compile with
- *  @param      inputTypes                          input types
- *
- */
--(void) specializeWithDevice:(MPSGraphDevice * _Nullable) device
-                  inputTypes:(NSArray<MPSGraphType *> *) inputTypes
-       compilationDescriptor:(MPSGraphCompilationDescriptor * _Nullable) compilationDescriptor;
-
-/*!
- *  @abstract   Runs the graph for given feeds to return targetTensor values, ensuring all target operations also executed.
- *              This call  is synchronous and will return on completion of execution
- *
- *  @param      commandQueue                                       CommandQueue passed to exectute the graph on
- *  @param      inputsArray                                         Feeds tensorData for the placeholder tensors, same order as arguments of main function
- *  @param      resultsArray                                       Results tensorData for which the caller wishes MPSGraphTensorData to be returned
- *
- *  @return     A valid MPSGraphTensorData array with results synchronized to the CPU memory if MPSGraphOptionsSynchronizeResults set.
- */
--(NSArray<MPSGraphTensorData *> *) runWithMTLCommandQueue:(id<MTLCommandQueue>) commandQueue
-                                              inputsArray:(NSArray<MPSGraphTensorData *> *) inputsArray
-                                             resultsArray:(NSArray<MPSGraphTensorData *> * _Nullable) resultsArray
-                                      executionDescriptor:(MPSGraphExecutableExecutionDescriptor * _Nullable) executionDescriptor
-MPS_SWIFT_NAME( run(with:inputs:results:executionDescriptor:) );
-
-/*!
- *  @abstract   Runs the graph for given feeds to return targetTensor values, ensuring all target operations also executed.
- *              This call  is asynchronous and will return immediately if a completionHandler is set.
- *
- *  @param      commandQueue                                      CommandQueue passed to exectute the graph on
- *  @param      inputsArray                                         Feeds tensorData for the placeholder tensors, same order as arguments of main function
- *  @param      resultsArray                                      Tensors for which the caller wishes MPSGraphTensorData to be returned
- *  @param      executionDescriptor                       ExecutionDescriptor to be passed in and used,
- *
- *  @return     A valid MPSGraphTensorData array with results synchronized to the CPU memory if MPSGraphOptionsSynchronizeResults set.
- */
--(NSArray<MPSGraphTensorData *> *) runAsyncWithMTLCommandQueue:(id<MTLCommandQueue>) commandQueue
-                                                   inputsArray:(NSArray<MPSGraphTensorData *> *) inputsArray
-                                                  resultsArray:(NSArray<MPSGraphTensorData *> * _Nullable) resultsArray
-                                           executionDescriptor:(MPSGraphExecutableExecutionDescriptor * _Nullable) executionDescriptor
-MPS_SWIFT_NAME( run(with:inputs:results:executionDescriptor:) );
-
-/*!
- *  @abstract   Runs the graph for given feeds to return targetTensor values, ensuring all target operations also executed.
- *              This call  is asynchronous and will return immediately if a completionHandler is set.
- *
- *  @param      commandBuffer                                     commandBuffer passed to exectute the graph on
- *  @param      inputsArray                                         Feeds tensorData for the placeholder tensors, same order as arguments of main function
- *  @param      resultsArray                                      Tensors for which the caller wishes MPSGraphTensorData to be returned
- *  @param      executionDescriptor                       ExecutionDescriptor to be passed in and used,
- *
- *  @return     A valid MPSGraphTensorData array with results synchronized to the CPU memory if MPSGraphOptionsSynchronizeResults set.
- */
--(NSArray<MPSGraphTensorData *> *) encodeToCommandBuffer:(MPSCommandBuffer *) commandBuffer
-                                             inputsArray:(NSArray<MPSGraphTensorData *> *) inputsArray
-                                            resultsArray:(NSArray<MPSGraphTensorData *> * _Nullable) resultsArray
-                                     executionDescriptor:(MPSGraphExecutableExecutionDescriptor * _Nullable) executionDescriptor
-MPS_SWIFT_NAME( encode(to:inputs:results:executionDescriptor:) );
-
-@end
-
-
-NS_ASSUME_NONNULL_END
-
-#endif /* MPSGraphExecutable_h */
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphLossOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphLossOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphLossOps.h	2021-08-07 05:21:48.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphLossOps.h	2021-08-03 21:51:03.000000000 -0400
@@ -19,13 +19,11 @@
  *
  *  @constant   MPSGraphLossReductionTypeAxis                                   No Reductions
  *  @constant   MPSGraphLossReductionTypeSum                                    ReduceSum down to a scalar
- *  @constant   MPSGraphLossReductionTypeMean                                   ReduceMean down to a scalar
  */
 typedef NS_ENUM(uint64_t, MPSGraphLossReductionType)
 {
     MPSGraphLossReductionTypeAxis                                            MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0)) MPS_SWIFT_NAME(none) =   0,
     MPSGraphLossReductionTypeSum                                             MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                      =   1L,
-    MPSGraphLossReductionTypeMean                                            MPS_ENUM_AVAILABLE_STARTING(macos(12.0),  ios(15.0), tvos(15.0))                      =   2L,
 };
 
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphPoolingOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphPoolingOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphPoolingOps.h	2021-08-07 05:21:46.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphPoolingOps.h	2021-08-03 21:51:01.000000000 -0400
@@ -35,23 +35,6 @@
 @property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle;
 @property (readwrite, nonatomic) MPSGraphTensorNamedDataLayout dataLayout;
 
-/*!
- *  @property   ceilMode
- *  @discussion If set then the output size is computed by rounding up instead of down when
- *              dividing by stride.
- *              Default value: @code NO @endcode
- */
-@property (readwrite, nonatomic) BOOL ceilMode MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @property   includeZeroPadToAverage
- *  @discussion For average pooling use a mode where samples outside the input tensor count as
- *              zeroes in the average computation. Otherwise the result is sum over samples divided by
- *              number of samples that didn't come from padding.
- *              Default value: @code NO @endcode
- */
-@property (readwrite, nonatomic) BOOL includeZeroPadToAverage MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
 
 +(nullable instancetype) descriptorWithKernelWidth:(NSUInteger) kernelWidth
                                       kernelHeight:(NSUInteger) kernelHeight
@@ -81,95 +64,6 @@
 
 @end
 
-/*!
- *  @class      MPSGraphPooling4DOpDescriptor
- *  @abstract   Defines a 4d pooling operation
- */
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphPooling4DOpDescriptor : NSObject<NSCopying>
-
-/*!
- *  @property   kernelSizes
- *  @discussion Defines the pooling window size.
- *              Must be four numbers, one for each spatial dimension, fastest running index last.
- */
-@property (readwrite, nonatomic, copy) NSArray<NSNumber *> * _Nonnull   kernelSizes;
-
-/*!
- *  @property   strides
- *  @discussion Must be four numbers, one for each spatial dimension, fastest running index last.
- *              Default value: @code @[ @1, @1, @1, @1 ] @endcode
- */
-@property (readwrite, nonatomic, copy) NSArray<NSNumber *> * _Nonnull   strides;
-
-/*!
- *  @property   dilationRates
- *  @discussion Must be four numbers, one for each spatial dimension, fastest running index last.
- *              Default value: @code @[ @1, @1, @1, @1 ] @endcode
- */
-@property (readwrite, nonatomic, copy) NSArray<NSNumber *> * _Nonnull   dilationRates;
-
-/*!
- *  @property   paddingValues
- *  @discussion Must be eight numbers, two for each spatial dimension. `paddingValues[0]` defines the explicit padding
- *              amount before the first spatial dimension (slowest running index of spatial dimensions),
- *              `paddingValues[1]` defines the padding amount after the first spatial dimension etc.
- *              Used only when `paddingStyle = MPSGraphPaddingStyleExplicit`.
- *              Default value: @code @[ @0, @0, @0, @0, @0, @0, @0, @0 ] @endcode
- */
-@property (readwrite, nonatomic, copy) NSArray<NSNumber *> * _Nonnull   paddingValues;
-
-/*!
- *  @property   paddingStyle
- *  @discussion Defines what kind of padding to apply to operation.
- *              Default value: @code MPSGraphPaddingStyleExplicit @endcode
- */
-@property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle;
-
-/*!
- *  @property   ceilMode
- *  @discussion If set then the output size is computed by rounding up instead of down when
- *              dividing by stride.
- *              Default value: @code NO @endcode
- */
-@property (readwrite, nonatomic) BOOL ceilMode;
-
-/*!
- *  @property   includeZeroPadToAverage
- *  @discussion For average pooling use a mode where samples outside the input tensor count as
- *              zeroes in the average computation. Otherwise the result is sum over samples divided by
- *              number of samples that didn't come from padding.
- *              Default value: @code NO @endcode
- */
-@property (readwrite, nonatomic) BOOL includeZeroPadToAverage;
-
-
-/*!
- *  @abstract   Creates a 4d pooling descriptor with given values.
- *  @param      kernelSizes        See corresponding property above.
- *  @param      strides                 See corresponding property above.
- *  @param      dilationRates    See corresponding property above.
- *  @param      paddingValues    See corresponding property above.
- *  @param      paddingStyle      See corresponding property above.
- *  @return     The descriptor on autoreleasepool.
- */
-+(nullable instancetype) descriptorWithKernelSizes:(NSArray<NSNumber *> * _Nonnull) kernelSizes
-                                           strides:(NSArray<NSNumber *> * _Nonnull) strides
-                                     dilationRates:(NSArray<NSNumber *> * _Nonnull) dilationRates
-                                     paddingValues:(NSArray<NSNumber *> * _Nonnull) paddingValues
-                                      paddingStyle:(MPSGraphPaddingStyle) paddingStyle;
-
-/*!
- *  @abstract   Creates a 4d pooling descriptor with default values.
- *  @param      kernelSizes        See corresponding property above.
- *  @param      paddingStyle      See corresponding property above.
- *  @return     The descriptor on autoreleasepool.
- */
-+(nullable instancetype) descriptorWithKernelSizes:(NSArray<NSNumber *> * _Nonnull) kernelSizes
-                                      paddingStyle:(MPSGraphPaddingStyle) paddingStyle;
-
-@end
-
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
 @interface MPSGraph(MPSGraphPoolingOps)
 
@@ -191,49 +85,6 @@
                                                 descriptor:(MPSGraphPooling2DOpDescriptor *) descriptor
                                                       name:(NSString * _Nullable) name;
 
-
--(MPSGraphTensor *) maxPooling4DWithSourceTensor:(MPSGraphTensor *) source
-                                      descriptor:(MPSGraphPooling4DOpDescriptor *) descriptor
-                                            name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( maxPooling4D(_:descriptor:name:))
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
--(MPSGraphTensor *) maxPooling4DGradientWithGradientTensor:(MPSGraphTensor *) gradient
-                                              sourceTensor:(MPSGraphTensor *) source
-                                                descriptor:(MPSGraphPooling4DOpDescriptor *) descriptor
-                                                      name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( maxPooling4DGradient(_:source:descriptor:name:))
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
--(MPSGraphTensor *) avgPooling4DWithSourceTensor:(MPSGraphTensor *) source
-                                      descriptor:(MPSGraphPooling4DOpDescriptor *) descriptor
-                                            name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( avgPooling4D(_:descriptor:name:))
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-
--(MPSGraphTensor *) avgPooling4DGradientWithGradientTensor:(MPSGraphTensor *) gradient
-                                              sourceTensor:(MPSGraphTensor *) source
-                                                descriptor:(MPSGraphPooling4DOpDescriptor *) descriptor
-                                                      name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( avgPooling4DGradient(_:source:descriptor:name:))
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-
--(MPSGraphTensor *) L2NormPooling4DWithSourceTensor:(MPSGraphTensor *) source
-                                         descriptor:(MPSGraphPooling4DOpDescriptor *) descriptor
-                                               name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( L2NormPooling4D(_:descriptor:name:))
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-
--(MPSGraphTensor *) L2NormPooling4DGradientWithGradientTensor:(MPSGraphTensor *) gradient
-                                                 sourceTensor:(MPSGraphTensor *) source
-                                                   descriptor:(MPSGraphPooling4DOpDescriptor *) descriptor
-                                                         name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( L2NormPooling4DGradient(_:source:descriptor:name:))
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphReductionOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphReductionOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphReductionOps.h	2021-08-09 03:22:24.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphReductionOps.h	2021-08-03 21:51:02.000000000 -0400
@@ -16,138 +16,37 @@
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
 @interface MPSGraph(MPSGraphReductionOps)
 
-/*!
- *  @abstract   Create  reduction sum op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axis              axis of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
 -(MPSGraphTensor *) reductionSumWithTensor:(MPSGraphTensor *) tensor
                                       axis:(NSInteger) axis
                                       name:(NSString * _Nullable) name;
 
-/*!
- *  @abstract   Create  reduction sum op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axes              axes of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) reductionSumWithTensor:(MPSGraphTensor *)tensor
-                                      axes:(NSArray<NSNumber *> *_Nullable)axes
-                                      name:(NSString *_Nullable)name;
-
-/*!
- *  @abstract   Create  reduction max op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axis              axis of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
+-(MPSGraphTensor *) reductionSumWithTensor:(MPSGraphTensor *) tensor
+                                      axes:(NSArray<NSNumber *> *)axes
+                                      name:(NSString * _Nullable) name;
+
 -(MPSGraphTensor *) reductionMaximumWithTensor:(MPSGraphTensor *) tensor
                                           axis:(NSInteger) axis
                                           name:(NSString * _Nullable) name;
 
-/*!
- *  @abstract   Create  reduction max op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axes              axes of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) reductionMaximumWithTensor:(MPSGraphTensor *)tensor
-                                          axes:(NSArray<NSNumber *> *_Nullable)axes
-                                          name:(NSString *_Nullable)name;
-
-/*!
- *  @abstract   Create  reduction minimum op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axis              axis of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
+-(MPSGraphTensor *) reductionMaximumWithTensor:(MPSGraphTensor *) tensor
+                                          axes:(NSArray<NSNumber *> *)axes
+                                          name:(NSString * _Nullable) name;
+
 -(MPSGraphTensor *) reductionMinimumWithTensor:(MPSGraphTensor *) tensor
                                           axis:(NSInteger) axis
                                           name:(NSString * _Nullable) name;
 
-/*!
- *  @abstract   Create  reduction min op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axes              axes of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) reductionMinimumWithTensor:(MPSGraphTensor *)tensor
-                                          axes:(NSArray<NSNumber *> *_Nullable)axes
-                                          name:(NSString *_Nullable)name;
-
-/*!
- *  @abstract   Create  reduction product op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axis              axis of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
+-(MPSGraphTensor *) reductionMinimumWithTensor:(MPSGraphTensor *) tensor
+                                          axes:(NSArray<NSNumber *> *)axes
+                                          name:(NSString * _Nullable) name;
+
 -(MPSGraphTensor *) reductionProductWithTensor:(MPSGraphTensor *) tensor
                                           axis:(NSInteger) axis
                                           name:(NSString * _Nullable) name;
 
-
-/*!
- *  @abstract   Create  reduction product op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axes              axes of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) reductionProductWithTensor:(MPSGraphTensor *)tensor
-                                          axes:(NSArray<NSNumber *> *_Nullable)axes
-                                          name:(NSString *_Nullable)name;
-
-/*!
- *  @abstract   Create  reduction argMax op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axis              axis of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) reductionArgMaximumWithTensor:(MPSGraphTensor *)tensor
-                                             axis:(NSInteger)axis
-                                             name:(NSString *_Nullable)name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), macCatalyst(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create  reduction argMin op and return the result tensor.
- *
- *  @param      tensor          input tensor
- *  @param      axis              axis of reduction
- *  @param      name              name for the operation
- *
- *  @return     A valid MPSGraphTensor object.
- */
--(MPSGraphTensor *) reductionArgMinimumWithTensor:(MPSGraphTensor *)tensor
-                                             axis:(NSInteger)axis
-                                             name:(NSString *_Nullable)name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), macCatalyst(15.0), tvos(15.0));
+-(MPSGraphTensor *) reductionProductWithTensor:(MPSGraphTensor *) tensor
+                                          axes:(NSArray<NSNumber *> *)axes
+                                          name:(NSString * _Nullable) name;
 
 @end
 
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphResizeOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphResizeOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphResizeOps.h	2021-08-07 05:21:47.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphResizeOps.h	2021-08-03 21:51:01.000000000 -0400
@@ -62,54 +62,7 @@
                     centerResult:(BOOL) centerResult
                     alignCorners:(BOOL) alignCorners
                           layout:(MPSGraphTensorNamedDataLayout) layout
-                            name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( resize(_:size:mode:centerResult:alignCorners:layout:name:) );
-
-/*!
- *  @abstract   Create Resize op and return the result tensor
- *  @discussion Resamples input images to given size. Result images will be distorted if size is of different aspect ratio.
- *              Resize supports the following modes:
- *                  Nearest Neighnor - values are interpolated using the closest neighbor pixel
- *                  Bilinear - values are computed using bilinear interpolation of 4 neighboring pixels
- *
- *              Destination indices are computed using direct index scaling by default, with no offset added.
- *              If the centerResult parameter is true, the destination indices will be scaled and shifted to be centered
- *              on the input image.
- *              If the alignCorners parameter is true, the corners of the result images will match the input images.
- *              Scaling will be modified to a factor of (size - 1) / (inputSize - 1). When alignCorners is true, the
- *              centerResult parameter does nothing.
- *
- *              In order to achieve the same behavior as OpenCV's resize and TensorFlowV2's resize,
- *              @code
- *                  centerResult = YES;
- *                  alginCorners = NO;
- *              @endcode
- *
- *              To achieve the same behavior as TensorFlowV1 resize
- *              @code
- *                  centerResult = NO;
- *              @endcode
- *
- *  @param      imagesTensor    Tensor containing input images.
- *  @param      size                      1D Int32 or Int64 tensor. A 2-element shape as [newHeight, newWidth]
- *  @param      mode                      The resampling mode to use.
- *  @param      centerResult    Controls if the result image is centered on the input image. When NO, the result will have the top left corner aligned
- *  @param      alignCorners    When YES, the result image will have the same value as the input image in the corners
- *  @param      layout                  Specifies what layout the provided tensor is in. The returned tensor will follow the same layout.
- *                            Valid layouts are NHWC, NCHW, HWC, CHW, and HW.
- *  @param      name                      The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) resizeTensor:(MPSGraphTensor *) imagesTensor
-                      sizeTensor:(MPSGraphTensor *) size
-                            mode:(MPSGraphResizeMode) mode
-                    centerResult:(BOOL) centerResult
-                    alignCorners:(BOOL) alignCorners
-                          layout:(MPSGraphTensorNamedDataLayout) layout
-                            name:(NSString * _Nullable) name
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-MPS_SWIFT_NAME( resize(_:sizeTensor:mode:centerResult:alignCorners:layout:name:) );
+                            name:(NSString * _Nullable) name;
 
 
 /*!
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphScatterNDOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphScatterNDOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphScatterNDOps.h	2021-08-09 03:22:24.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphScatterNDOps.h	2021-08-03 21:51:02.000000000 -0400
@@ -34,8 +34,6 @@
     MPSGraphScatterModeSet     MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))                     =  6L,
 };
 
-#pragma mark ScatterND
-
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
 @interface MPSGraph(ScatterNDOps)
 
@@ -111,126 +109,6 @@
                                batchDimensions:(NSUInteger) batchDimensions
                                           name:(NSString * _Nullable) name;
 
-/*!
- *  @abstract   Create ScatterND op and return the result tensor
- *  @discussion Scatters the slices in updatesTensor to the result tensor along the indices in indicesTensor, on top of dataTensor.
- *              The scatter is defined as
- *              @code
- *              B = batchDims
- *              U = updates.rank - B
- *              P = res.rank - B
- *              Q = inds.rank - B
- *              K = inds.shape[-1]
- *              index_slice = indices[i_{b0},...,i_{bB},i_{0},..,i_{Q-1}]
- *              res[...] = data[...]
- *              res[i_{b0},...,i_{bB},index_slice[0],...,index_slice[K-1]] += updates[i_{b0},...,i_{bB},i_{0},...,i_{Q-1}] // Note += is used but this depends on mode
- *              @endcode
- *              Collsions will be updated according to mode, and slices not set by indices are set to 0. The tensors have the following shape requirements
- *              @code
- *              K <= P
- *              U = (P-K) + Q-1
- *              data.shape = res.shape
- *              indices.shape[0:Q-1] = updates.shape[0:Q-1]
- *              updates.shape[Q:U] = res.shape[K:P]
- *              @endcode
- *
- *  @param      dataTensor      Tensor containing inital values of same shape as result tensor
- *  @param      updatesTensor   Tensor containing slices to be inserted into the result tensor
- *  @param      indicesTensor   Tensor containg the result indices to insert slices at
- *  @param      batchDimensions The number of batch dimensions
- *  @param      mode            The type of update to use on the destination
- *  @param      name            The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) scatterNDWithDataTensor:(MPSGraphTensor *) dataTensor
-                              updatesTensor:(MPSGraphTensor *) updatesTensor
-                              indicesTensor:(MPSGraphTensor *) indicesTensor
-                            batchDimensions:(NSUInteger) batchDimensions
-                                       mode:(MPSGraphScatterMode) mode
-                                       name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( scatterNDWithData(_:updates:indices:batchDimensions:mode:name:) )
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-@end
-
-#pragma mark Scatter
-
-@interface MPSGraph(MPSGraphScatterOps)
-
-/*!
- *  @abstract   Create Scatter op and return the result tensor
- *  @discussion Scatters the slices in updatesTensor to the result tensor along the indices in indicesTensor.
- *              The scatter is defined as
- *              @code
- *              U = updates.rank
- *              P = res.rank
- *              res[i_{0},...,i_{axis-1},indices[i_{axis}],i_{axis+1},...,i_{U-1}] = updates[i_{0},...,i_{axis-1},i_{axis},i_{axis+1},...,i_{U-1}]
- *              @endcode
- *              Collsions will be updated according to mode. The tensors have the following shape requirements
- *              @code
- *              U = P
- *              indices.rank = 1
- *              updates.shape[0:axis-1] = res.shape[0:axis-1]
- *              updates.shape[axis]     = indices.shape[0]
- *              updates.shape[axis+1:U] = res.shape[0:P]
- *              @endcode
- *
- *  @param      updatesTensor     Tensor containing values to be inserted into the result tensor
- *  @param      indicesTensor     Tensor containg the result indices to insert values at
- *  @param      shape             The shape of the result tensor
- *  @param      axis              The axis of the result tensor to scatter values along
- *  @param      mode              The type of update to use on the destination
- *  @param      name              The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) scatterWithUpdatesTensor:(MPSGraphTensor *) updatesTensor
-                               indicesTensor:(MPSGraphTensor *) indicesTensor
-                                       shape:(MPSShape *) shape
-                                        axis:(NSInteger) axis
-                                        mode:(MPSGraphScatterMode) mode
-                                        name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( scatter(_:indices:shape:axis:mode:name:) )
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create Scatter op and return the result tensor
- *  @discussion Scatters the slices in updatesTensor to the result tensor along the indices in indicesTensor, on top of dataTensor.
- *              The scatter is defined as
- *              @code
- *              U = updates.rank
- *              P = res.rank
- *              res[...] = data[...]
- *              res[i_{0},...,i_{axis-1},indices[i_{axis}],i_{axis+1},...,i_{U-1}] += updates[i_{0},...,i_{axis-1},i_{axis},i_{axis+1},...,i_{U-1}] // Note += is used but this depends on mode
- *              @endcode
- *              Collsions will be updated according to mode. The tensors have the following shape requirements
- *              @code
- *              U = P
- *              indices.rank = 1
- *              data.shape = res.shape
- *              updates.shape[0:axis-1] = res.shape[0:axis-1]
- *              updates.shape[axis]     = indices.shape[0]
- *              updates.shape[axis+1:U] = res.shape[0:P]
- *              @endcode
- *
- *  @param      dataTensor        Tensor containing inital values of same shape as result tensor
- *  @param      updatesTensor     Tensor containing values to be inserted into the result tensor
- *  @param      indicesTensor     Tensor containg the result indices to insert values at
- *  @param      axis              The axis of the result tensor to scatter values along
- *  @param      mode              The type of update to use on the destination
- *  @param      name              The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) scatterWithDataTensor:(MPSGraphTensor *) dataTensor
-                            updatesTensor:(MPSGraphTensor *) updatesTensor
-                            indicesTensor:(MPSGraphTensor *) indicesTensor
-                                     axis:(NSInteger) axis
-                                     mode:(MPSGraphScatterMode) mode
-                                     name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( scatterWithData(_:updates:indices:axis:mode:name:) )
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphSparseOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphSparseOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphSparseOps.h	2021-08-07 08:51:27.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphSparseOps.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,96 +0,0 @@
-//
-//  MPSGraphSparseOps.h
-//  MetalPerformanceShadersGraph
-//
-//  Created on 12/30/20.
-//  Copyright © 2020 Apple Inc. All rights reserved.
-//
-
-#ifndef MPSGraphSparseOps_h
-#define MPSGraphSparseOps_h
-
-#import <MetalPerformanceShadersGraph/MPSGraph.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/*!
- *  @typedef    MPSGraphSparseStorageType
- *  @abstract   Sparse Storage options in graph
- *
- *  @constant   MPSGraphSparseStorageCOO                                  COO Storage
- *  @constant   MPSGraphSparseStorageCSC                                   CSC Storage
- *  @constant   MPSGraphSparseStorageCSR                                   CSR Storage
- */
-typedef NS_ENUM(uint64_t, MPSGraphSparseStorageType) {
-    MPSGraphSparseStorageCOO MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0)) MPS_SWIFT_NAME(COO) = 0,
-    MPSGraphSparseStorageCSC MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0)) = 1L,
-    MPSGraphSparseStorageCSR MPS_ENUM_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0)) = 2L,
-};
-
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphCreateSparseOpDescriptor : NSObject <NSCopying>
-
-@property(readwrite, nonatomic) MPSGraphSparseStorageType sparseStorageType;
-@property(readwrite, nonatomic) MPSDataType dataType;
-
-+ (nullable instancetype)descriptorWithStorageType:(MPSGraphSparseStorageType)sparseStorageType
-                                          dataType:(MPSDataType)dataType
-    MPS_SWIFT_NAME(sparseDescriptor(descriptorWithStorageType:dataType:));
-
-@end
-
-@interface MPSGraph (MPSGraphSparseOps)
-
-/*!
- *  @abstract   Create sparseTensor op and return the result tensor
- *
- *
- *  @param      sparseStorageType       sparseStorageType
- *  @param      inputTensorArray         array of input tensors as [sparseVals, indexTensor0, indexTensor1]
- *  @param      shape                                  shape of sparse tensor
- *  @param      dataType                           dataType of sparse tensor
- *  @param      name                                    name for the operation
- *
- *  @discussion sparseVals corresponds to non zero values in matrix.
- *              indexTensor0 and indexTensor1 are indices used for indexing into sparse data structure
- *              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.
- *  @return     A valid MPSGraphTensor object.
- */
-- (MPSGraphTensor *)sparseTensorWithType:(MPSGraphSparseStorageType)sparseStorageType
-                                 tensors:(NSArray<MPSGraphTensor *> *)inputTensorArray
-                                   shape:(MPSShape *)shape
-                                dataType:(MPSDataType)dataType
-                                    name:(NSString *_Nullable)name
-    MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-    MPS_SWIFT_NAME(sparseTensor(sparseTensorWithType:tensors:shape:dataType:name:));
-
-/*!
- *  @abstract   Create sparseTensor op and return the result tensor
- *
- *
- *  @param      sparseDescriptor         sparseDescriptorType
- *  @param      inputTensorArray         array of input tensors as [sparseVals, indexTensor0, indexTensor1]
- *  @param      shape                                  shape of sparse tensor
- *  @param      name                                    name for the operation
- *
- *  @discussion sparseVals corresponds to non zero values in matrix.
- *              indexTensor0 and indexTensor1 are indices used for indexing into sparse data structure
- *              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.
- *  @return     A valid MPSGraphTensor object.
- */
-- (MPSGraphTensor *)sparseTensorWithDescriptor:(MPSGraphCreateSparseOpDescriptor *)sparseDescriptor
-                                       tensors:(NSArray<MPSGraphTensor *> *)inputTensorArray
-                                         shape:(MPSShape *)shape
-                                          name:(NSString *_Nullable)name
-    MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-    MPS_SWIFT_NAME(sparseTensor(sparseTensorWithDescriptor:tensors:shape:name:));
-
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif /* MPSGraphSparseOps_h */
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphStencilOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphStencilOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphStencilOps.h	2021-08-07 05:21:46.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphStencilOps.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,126 +0,0 @@
-//
-//  MPSGraphStencilOps.h
-//  MetalPerformanceShadersGraph
-//
-//  Created by Riya Savla on 12/16/20.
-//  Copyright © 2020 Apple Inc. All rights reserved.
-//
-
-#ifndef MPSGraphStencilOps_h
-#define MPSGraphStencilOps_h
-
-#import <MetalPerformanceShadersGraph/MPSGraph.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphStencilOpDescriptor : NSObject<NSCopying>
-
-@property (readwrite, nonatomic) MPSGraphReductionMode reductionMode;
-@property (readwrite, nonatomic, copy) MPSShape * offsets;
-@property (readwrite, nonatomic, copy) MPSShape * strides;
-@property (readwrite, nonatomic, copy) MPSShape * dilationRates;
-@property (readwrite, nonatomic, copy) MPSShape * explicitPadding;
-@property (readwrite, nonatomic) MPSGraphPaddingMode boundaryMode;
-@property (readwrite, nonatomic) MPSGraphPaddingStyle paddingStyle;
-@property (readwrite, nonatomic) float paddingConstant;
-
-/*!
- *  @abstract   stencil operation descriptor
- *
- *  @param      reductionMode               Reduction operation used to combine the source with weights. Defaults to Sum.
- *  @param      offsets                             Array of length 4 that determines where to start reading the `input` from.
- *                                  Only used when paddingStyle is MPSGraphPaddingStylExplicitOffset. Defaults to 0.
- *  @param      strides                             Array of length 4 that determines strides for the window of the weights Tensor. Defaults to 1.
- *  @param      dilationRates                Array of length 4 that determines dilation rates for the weights Tensor. Defaults to 1.
- *  @param      explicitPadding           Array of length 8 that determines paddings for the input Tensor's last 4 dimensions.
- *                                  explicitPadding[2*i] and explicitPadding[2*i + 1] for dimension i of the input.
- *                                  Only used when paddingSTyle is MPSGraphPaddingStyleExplicit or ExplicitOffset.
- *  @param      boundaryMode                  Determines what values to pad the input Tensor with. Defaults to MPSGraphPaddingModeZero.
- *  @param      paddingStyle                  Determines how many values to pad the inpur Tensor with.
- *  @param      paddingConstant           Specifies the value to pad the inputTensor with when using boundaryMode = constant. Defaults to 0.
- *
- *  @return     A valid MPSGraphStencilOpDescriptor object
- */
-
-+(nullable instancetype) descriptorWithReductionMode:(MPSGraphReductionMode) reductionMode
-                                             offsets:(MPSShape *) offsets
-                                             strides:(MPSShape *) strides
-                                       dilationRates:(MPSShape *) dilationRates
-                                     explicitPadding:(MPSShape *) explicitPadding
-                                        boundaryMode:(MPSGraphPaddingMode) boundaryMode
-                                        paddingStyle:(MPSGraphPaddingStyle) paddingStyle
-                                     paddingConstant:(float) paddingConstant;
-
-/*!
- *  @abstract   stencil operation descriptor
- *  @discussion Stencil operation descriptor for paddingStyle MPSGraphPaddingStyleExplicitOffset.
- *              Default values for everything else.
- *
- *  @param      offsets                             Array of length 4 that determines where to start reading the `input` from.
- *  @param      explicitPadding           Array of length 8 that determines paddings for the input Tensor's last 4 dimensions.
- *                                  explicitPadding[2*i] and explicitPadding[2*i + 1] for dimension i of the input.
- *
- *  @return     A valid MPSGraphStencilOpDescriptor object
- */
-
-+(nullable instancetype) descriptorWithOffsets:(MPSShape *) offsets
-                               explicitPadding:(MPSShape *) explicitPadding;
-
-/*!
- *  @abstract   stencil operation descriptor
- *  @discussion Stencil operation descriptor for paddingStyle MPSGraphPaddingStyleExplicit
- *              Default values for everything else.
- *
- *  @param      explicitPadding           Array of length 8 that determines paddings for the input Tensor's last 4 dimensions.
- *                                  explicitPadding[2*i] and explicitPadding[2*i + 1] for dimension i of the input.
- *
- *  @return     A valid MPSGraphStencilOpDescriptor object
- */
-
-+(nullable instancetype) descriptorWithExplicitPadding:(MPSShape *) explicitPadding;
-
-/*!
- *  @abstract   stencil operation descriptor
- *  @discussion Stencil operation descriptor with a user specified paddingStyle.
- *              Default values for everything else.
- *
- *  @param      paddingStyle                  Determines how many values to pad the inpur Tensor with.
- *
- *  @return     A valid MPSGraphStencilOpDescriptor object
- */
-
-+(nullable instancetype) descriptorWithPaddingStyle:(MPSGraphPaddingStyle) paddingStyle;
-
-@end
-
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraph(MPSGraphStencilOps)
-
-/*!
- *  @abstract   stencil operation
- *  @discussion Performs a weighted reduction operation (`reductionMode`) on the last 4 dimensions of the `source`
- *  over the window determined by `weights`, acc. to the given `strides` and `dilationRates` and `paddingStyle`.
- *  `boundaryMode` determines what values to pad the `input` with. `offsets` are used to determine where
- *  to start reading the `input` from. `explicitPadding` can also be provided when using relevant paddingStyles.
- *
- *  y[i] = reduction { x[ i + j ] * w[j] }
- *
- *  @param      source                Tensor containing source data. Must be of rank 4 or greater.
- *  @param      weights              4-D Tensor containing the weights data.
- *  @param      descriptor       Descriptor object that specifies strides, dilationRates etc.
- *  @param      name                     The name for the operation.
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) stencilWithSourceTensor:(MPSGraphTensor *) source
-                              weightsTensor:(MPSGraphTensor *) weights
-                                 descriptor:(MPSGraphStencilOpDescriptor *) descriptor
-                                       name:(NSString * _Nullable) name;
-
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif /* MPSGraphStencilOps_h */
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphTensorShapeOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphTensorShapeOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphTensorShapeOps.h	2021-08-09 03:22:24.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphTensorShapeOps.h	2021-08-03 21:51:03.000000000 -0400
@@ -17,41 +17,11 @@
 MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
 @interface MPSGraph(MPSGraphTensorShapeOps)
 
-/*!
- *  @abstract   Create Reshape op and return the result tensor
- *  @discussion Reshape the input tensor to the target shape
- *              The shape must be compatible with the input tensor shape
- *              shape is allowed to contain dynamic dimensions (-1) when the result type can be inferred unambiguously
- *
- *  @param      tensor                  Tensor to be reshaped.
- *  @param      shape                    The result tensor shape
- *  @param      name                      The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
 -(MPSGraphTensor *) reshapeTensor:(MPSGraphTensor *) tensor
                         withShape:(MPSShape *) shape
                              name:(NSString * _Nullable) name
 MPS_SWIFT_NAME( reshape(_:shape:name:) );
 
-/*!
- *  @abstract   Create Reshape op and return the result tensor
- *  @discussion Reshape the input tensor to the target shapeTensor
- *              The shape must be compatible with the input tensor shape
- *              shapeTensor is allowed to contain dynamic dimensions (-1) when the result type can be inferred unambiguously
- *
- *  @param      tensor                  Tensor to be reshaped.
- *  @param      shapeTensor       1D Int32 or Int64 tensor. The result tensor shape
- *  @param      name                      The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) reshapeTensor:(MPSGraphTensor *) tensor
-                  withShapeTensor:(MPSGraphTensor *) shapeTensor
-                             name:(NSString * _Nullable) name
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-MPS_SWIFT_NAME( reshape(_:shapeTensor:name:) );
-
 -(MPSGraphTensor *) transposeTensor:(MPSGraphTensor *) tensor
                           dimension:(NSUInteger) dimensionIndex
                       withDimension:(NSUInteger) dimensionIndex2
@@ -157,63 +127,15 @@
                             squeezeMask:(uint32_t) squeezeMask
                                    name:(NSString * _Nullable) name;
 
-/*!
- *  @abstract   Create concat  op and return the result tensor
- *  @discussion Concatenate two input tensors along sepecified dimension. Tensors must be broadcast
- *              compatible along all other dimensions, and have the same type.
- *
- *  @param      tensor                         First tensor to concatenate
- *  @param      tensor2                       Second tensor to concatenate
- *  @param      dimensionIndex        The dimension to concatenate across, must be in range - rank <= dimension < rank
- *  @param      name                              The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
 
 -(MPSGraphTensor *) concatTensor:(MPSGraphTensor *) tensor
                       withTensor:(MPSGraphTensor *) tensor2
-                       dimension:(NSInteger) dimensionIndex
+                       dimension:(NSUInteger) dimensionIndex
                             name:(NSString * _Nullable) name;
 
-/*!
- *  @abstract   Create concat op and return the result tensor
- *  @discussion Concatenate all input tensors along specified dimension. All inputs must be broadcast
- *              compatible along all other dimensions, and have the same type.
- *
- *  @param      tensors                      Tensors to concatenate
- *  @param      dimensionIndex       The dimension to concatenate across, must be in range - rank <= dimension < rank
- *  @param      name                             The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
 -(MPSGraphTensor *) concatTensors:(NSArray<MPSGraphTensor *> *) tensors
-                        dimension:(NSInteger) dimensionIndex
-                             name:(NSString * _Nullable) name;
-
-/*!
- *  @abstract   Create concat op and return the result tensor
- *  @discussion Concatenate all input tensors along specified dimension. All inputs must be broadcast
- *              compatible along all other dimensions, and have the same type.
- *              When interleave is specified, all tensors will be interleaved. To interleave, all inputs must
- *              be broadcast compatible along the specified dimension as well.
- *              Example,
- *              @code
- *              operand0 = [1, 2, 3]
- *              operand1 = [4, 5, 6]
- *              concat([operand0, operand1], axis = 0, interleave = YES) = [1, 4, 2, 5, 3, 6]
- *              @endcode
- *
- *  @param      tensors                      Tensors to concatenate
- *  @param      dimensionIndex       The dimension to concatenate across, must be in range - rank <= dimension < rank
- *  @param      interleave                Interleave input tensors
- *  @param      name                             The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) concatTensors:(NSArray<MPSGraphTensor *> *) tensors
-                        dimension:(NSInteger) dimensionIndex
-                       interleave:(BOOL) interleave
-                             name:(NSString * _Nullable) name;
+                       dimension:(NSUInteger) dimensionIndex
+                            name:(NSString * _Nullable) name;
 
 -(MPSGraphTensor *) tileTensor:(MPSGraphTensor *) tensor
                 withMultiplier:(MPSShape *) multiplier
@@ -239,194 +161,6 @@
                                             rightPadding:(MPSShape *) rightPadding
                                                     name:(NSString * _Nullable) name;
 
--(MPSGraphTensor *)spaceToDepth2DTensor:(MPSGraphTensor *) tensor
-                        widthAxisTensor:(MPSGraphTensor *) widthAxisTensor
-                       heightAxisTensor:(MPSGraphTensor *) heightAxisTensor
-                        depthAxisTensor:(MPSGraphTensor *) depthAxisTensor
-                              blockSize:(NSUInteger)blockSize
-                   usePixelShuffleOrder:(BOOL)usePixelShuffleOrder
-                                   name:(NSString * _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
--(MPSGraphTensor *)depthToSpace2DTensor:(MPSGraphTensor *) tensor
-                        widthAxisTensor:(MPSGraphTensor *) widthAxisTensor
-                       heightAxisTensor:(MPSGraphTensor *) heightAxisTensor
-                        depthAxisTensor:(MPSGraphTensor *) depthAxisTensor
-                              blockSize:(NSUInteger)blockSize
-                   usePixelShuffleOrder:(BOOL)usePixelShuffleOrder
-                                   name:(NSString * _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
--(MPSGraphTensor *)spaceToDepth2DTensor:(MPSGraphTensor *) tensor
-                              widthAxis:(NSUInteger) widthAxis
-                             heightAxis:(NSUInteger) heightAxis
-                              depthAxis:(NSUInteger) depthAxis
-                              blockSize:(NSUInteger)blockSize
-                   usePixelShuffleOrder:(BOOL)usePixelShuffleOrder
-                                   name:(NSString * _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
--(MPSGraphTensor *)depthToSpace2DTensor:(MPSGraphTensor *) tensor
-                              widthAxis:(NSUInteger) widthAxis
-                             heightAxis:(NSUInteger) heightAxis
-                              depthAxis:(NSUInteger) depthAxis
-                              blockSize:(NSUInteger)blockSize
-                   usePixelShuffleOrder:(BOOL)usePixelShuffleOrder
-                                   name:(NSString * _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create reverse op and return the result tensor
- *  @discussion Reverses a tensor on given axes
- *              https://www.tensorflow.org/api_docs/python/tf/reverse.
- *
- *  @param      tensor              Tensor to be reversed
- *  @param      axesTensor     Tensor that specifies axes to be reversed (Axes must be unique and within normal axis range).
- *  @param      name                  The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) reverseTensor:(MPSGraphTensor *) tensor
-                       axesTensor:(MPSGraphTensor *) axesTensor
-                             name:(NSString * _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create reverse op and return the result tensor
- *  @discussion Reverses a tensor on given axes
- *              https://www.tensorflow.org/api_docs/python/tf/reverse.
- *
- *  @param      tensor              Tensor to be reversed
- *  @param      axes                  Axes to be reversed (Axes must be unique and within normal axis range).
- *  @param      name                  The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) reverseTensor:(MPSGraphTensor *) tensor
-                             axes:(NSArray<NSNumber *> *) axes
-                             name:(NSString * _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create reverse op and return the result tensor
- *  @discussion Reverses a tensor on all axes
- *              https://www.tensorflow.org/api_docs/python/tf/reverse.
- *
- *  @param      tensor              Tensor to be reversed
- *  @param      name                  The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) reverseTensor:(MPSGraphTensor *) tensor
-                             name:(NSString * _Nullable) name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-
-/*!
- *  @abstract   Create flatten2d op and return the result tensor
- *  @discussion Flattens dimensions before `axis` to `result[0]` and dimensions starting
- *              from `axis` to `result[1]` and returns a rank-2 tensor as result.
- *
- *  @param      tensor          Tensor to be flattened
- *  @param      axis            Axis around which to flatten
- *  @param      name            The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) flatten2DTensor:(MPSGraphTensor *) tensor
-                               axis:(NSInteger) axis
-                               name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( flatten2D(_:axis:name:) )
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create flatten2d op and return the result tensor
- *  @discussion Flattens dimensions before `axis` to `result[0]` and dimensions starting
- *              from `axis` to `result[1]` and returns a rank-2 tensor as result.
- *
- *  @param      tensor              Tensor to be flattened
- *  @param      axisTensor          Axis around which to flatten
- *  @param      name                The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) flatten2DTensor:(MPSGraphTensor *) tensor
-                         axisTensor:(MPSGraphTensor *) axisTensor
-                               name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( flatten2D(_:axisTensor:name:) )
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create broadcast op and return the result tensor
- *  @discussion Broadcast values inside the tensor, starting from the trailing dimensions, to give it the correct shape.
- *              This is equivalent to the broadcasting for arithmetic operations when operands have different shapes.
- *
- *  @param      tensor        Tensor to be broadcasted
- *  @param      shape          Shape of the result tensor
- *  @param      name            The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) broadcastTensor:(MPSGraphTensor *) tensor
-                            toShape:(MPSShape *) shape
-                               name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( broadcast(_:shape:name:) )
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create broadcast op and return the result tensor
- *  @discussion Broadcast values inside the tensor, starting from the trailing dimensions, to give it the correct shape.
- *              This is equivalent to the broadcasting for arithmetic operations when operands have different shapes.
- *
- *  @param      tensor                Tensor to be broadcasted
- *  @param      shapeTensor     1D Int32 or Int64 tensor. Shape of the result tensor
- *  @param      name                     The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) broadcastTensor:(MPSGraphTensor *) tensor
-                      toShapeTensor:(MPSGraphTensor *) shapeTensor
-                               name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( broadcast(_:shapeTensor:name:) )
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create shapeof op and return the result tensor
- *  @discussion Returns a 1D Int32 tensor with value the static shape of the input tensor
- *
- *  @param      tensor        Input tensor
- *  @param      name            The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
-
--(MPSGraphTensor *) shapeOfTensor:(MPSGraphTensor *) tensor
-                             name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( shapeOf(_:name:) )
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
-/*!
- *  @abstract   Create cast op and return the result tensor
- *  @discussion Returns input tensor casted to the dataType passed in
- *
- *  @param      tensor        Input tensor
- *  @param      type        Input tensor
- *  @param      name            The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *)castTensor:(MPSGraphTensor *)tensor
-                       toType:(MPSDataType)type
-                         name:(NSString *)name
-MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0));
-
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphTopKOps.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphTopKOps.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphTopKOps.h	2021-08-07 05:21:47.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphTopKOps.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,107 +0,0 @@
-//
-//  MPSGraphTopKOps.h
-//  MPSGraph
-//
-//  Created by Chris Bayley on 9/21/20.
-//  Copyright © 2020 Apple Inc. All rights reserved.
-//
-
-#ifndef MPSGraphTopKOps_h
-#define MPSGraphTopKOps_h
-
-#import <MetalPerformanceShadersGraph/MPSGraph.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraph(MPSGraphTopKOps)
-
-/*!
- *  @abstract   Create TopK op and return the value and indices tensors
- *  @discussion Finds the k largest values along the minor dimension of the input. The source must have
- *              at least k elements along its minor dimension.
- *              The first element of the result array corresponds to the top values, and the second
- *              array corresponds to the indices of the top values.
- *              To perform a vertical TopK a transpose can be inserted at the minor dimension of the
- *              incoming tensor.
- *
- *  @param      source   Tensor containing source data
- *  @param      k              The number of largest values to return
- *  @param      name        The name for the operation
- *
- *  @return     A valid MPSGraphTensor array of size 2
- */
--(NSArray<MPSGraphTensor *> *) topKWithSourceTensor:(MPSGraphTensor *) source
-                                                  k:(NSUInteger) k
-                                               name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( topK(_:k:name:) );
-
-/*!
- *  @abstract   Create TopK op and return the result tensor
- *  @discussion Finds the k largest values along the minor dimension of the input. The source must have
- *              at least k elements along its minor dimension.
- *              The first element of the result array corresponds to the top values, and the second
- *              array corresponds to the indices of the top values.
- *              To perform a vertical TopK a transpose can be inserted at the minor dimension of the
- *              incoming tensor.
- *
- *  @param      source     Tensor containing source data
- *  @param      kTensor   Tensor of the number of largest values to return
- *  @param      name          The name for the operation
- *
- *  @return     A valid MPSGraphTensor array of size 2
- */
--(NSArray<MPSGraphTensor *> *) topKWithSourceTensor:(MPSGraphTensor *) source
-                                            kTensor:(MPSGraphTensor *) kTensor
-                                               name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( topK(_:kTensor:name:) );
-
-@end
-
-@interface MPSGraph(MPSGraphTopKGradientOps)
-
-/*!
- *  @abstract   Create TopKGradient op and return the result tensor
- *  @discussion Finds the K largest values along the minor dimension of the input. The input must have
- *              at least K elements along its minor dimension.
- *              To perform a vertical TopK a transpose can be inserted at the minor dimension of the
- *              incoming tensor.
- *
- *  @param      gradient   Tensor containing the incoming gradient
- *  @param      source        Tensor containing source data
- *  @param      k                   The number of largest values to return
- *  @param      name            The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) topKWithGradientTensor:(MPSGraphTensor *) gradient
-                                    source:(MPSGraphTensor *) source
-                                         k:(NSUInteger) k
-                                      name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( topKGradient(_:input:k:name:) );
-
-/*!
- *  @abstract   Create TopKGradient op and return the result tensor
- *  @discussion Finds the K largest values along the minor dimension of the input. The input must have
- *              at least K elements along its minor dimension.
- *              To perform a vertical TopK a transpose can be inserted at the minor dimension of the
- *              incoming tensor.
- *
- *  @param      gradient   Tensor containing the incoming gradient
- *  @param      source        Tensor containing source data
- *  @param      kTensor     Tensor of the number of largest values to return
- *  @param      name            The name for the operation
- *
- *  @return     A valid MPSGraphTensor object
- */
--(MPSGraphTensor *) topKWithGradientTensor:(MPSGraphTensor *) gradient
-                                    source:(MPSGraphTensor *) source
-                                   kTensor:(MPSGraphTensor *) kTensor
-                                      name:(NSString * _Nullable) name
-MPS_SWIFT_NAME( topKGradient(_:input:kTensor:name:) );
-
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif /* MPSGraphTopKOps_h */
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MetalPerformanceShadersGraph.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MetalPerformanceShadersGraph.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MetalPerformanceShadersGraph.h	2021-07-31 08:03:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MetalPerformanceShadersGraph.h	2021-03-16 04:44:16.000000000 -0400
@@ -7,19 +7,17 @@
 
 #import <MetalPerformanceShadersGraph/MPSGraph.h>
 #import <MetalPerformanceShadersGraph/MPSGraphDevice.h>
-#import <MetalPerformanceShadersGraph/MPSGraphExecutable.h>
 
 #import <MetalPerformanceShadersGraph/MPSGraphAutomaticDifferentiation.h>
 #import <MetalPerformanceShadersGraph/MPSGraphActivationOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphArithmeticOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphConvolutionOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphConvolutionTransposeOps.h>
-#import <MetalPerformanceShadersGraph/MPSGraphControlFlowOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphDepthwiseConvolutionOps.h>
+#import <MetalPerformanceShadersGraph/MPSGraphGatherNDOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphGatherOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphLossOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphMatrixMultiplicationOps.h>
-#import <MetalPerformanceShadersGraph/MPSGraphSparseOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphMemoryOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphNormalizationOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphOneHotOps.h>
@@ -29,6 +27,5 @@
 #import <MetalPerformanceShadersGraph/MPSGraphReductionOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphResizeOps.h>
 #import <MetalPerformanceShadersGraph/MPSGraphScatterNDOps.h>
-#import <MetalPerformanceShadersGraph/MPSGraphStencilOps.h>
+
 #import <MetalPerformanceShadersGraph/MPSGraphTensorShapeOps.h>
-#import <MetalPerformanceShadersGraph/MPSGraphTopKOps.h>
Clone this wiki locally