-
Notifications
You must be signed in to change notification settings - Fork 515
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>
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status
- xcode16.1 Binding Status
- xcode16.2 Binding Status