-
Notifications
You must be signed in to change notification settings - Fork 507
MetalPerformanceShadersGraph tvOS xcode14.0 beta4
Alex Soto edited this page Jul 27, 2022
·
1 revision
#MetalPerformanceShadersGraph.framework
diff -ruN /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraph.h /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraph.h
--- /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraph.h 2022-06-30 09:29:05.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraph.h 2022-07-22 10:04:00.000000000 -0400
@@ -368,7 +368,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 execute the graph on, commitAndContinue might be called, please don't rely on underlying MTLCommandBuffer to remain uncommitted
* @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_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphCumulativeOps.h /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphCumulativeOps.h
--- /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphCumulativeOps.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphCumulativeOps.h 2022-07-22 10:05:37.000000000 -0400
@@ -0,0 +1,295 @@
+//
+// MPSGraphCumulativeOps.h
+// MetalPerformanceShadersGraph
+//
+// Created on 06/12/22.
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#ifndef MPSGraphScanOps_h
+#define MPSGraphScanOps_h
+
+#import <MetalPerformanceShadersGraph/MPSGraph.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
+@interface MPSGraph(MPSGraphCumulativeOps)
+
+/*!
+ * @abstract Create the cumulative sum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the cumulative operation occurs
+ * @param exclusive if true, performs the exclusive cumulative sum operation, and the first element will be equal to zero.
+ * @param reverse reverse the direction of the cumulative sum operation along the given axis
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeSumWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ exclusive:(BOOL) exclusive
+ reverse:(BOOL) reverse
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeSum(_:axis:exclusive:reverse:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the cumulative sum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the cumulative operation occurs
+ * @param exclusive if true, performs the exclusive cumulative sum operation, and the first element will be equal to zero.
+ * @param reverse reverse the direction of the cumulative sum operation along the given axis
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeSumWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ exclusive:(BOOL) exclusive
+ reverse:(BOOL) reverse
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeSum(_:axisTensor:exclusive:reverse:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the inclusive cumulative sum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the cumulative operation occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeSumWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeSum(_:axis:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the inclusive cumulative sum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the cumulative operation occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeSumWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeSum(_:axisTensor:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the cumulative product op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the cumulative operation occurs
+ * @param exclusive if true, performs the exclusive cumulative product operation, and the first element will be equal to one.
+ * @param reverse reverse the direction of the cumulative product operation along the given axis
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeProductWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ exclusive:(BOOL) exclusive
+ reverse:(BOOL) reverse
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeProduct(_:axis:exclusive:reverse:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the cumulative product op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the cumulative operation occurs
+ * @param exclusive if true, performs the exclusive cumulative product operation, and the first element will be equal to one.
+ * @param reverse reverse the direction of the cumulative product operation along the given axis
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeProductWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ exclusive:(BOOL) exclusive
+ reverse:(BOOL) reverse
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeProduct(_:axisTensor:exclusive:reverse:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the inclusive cumulative product op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the cumulative operation occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeProductWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeProduct(_:axis:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the inclusive cumulative product op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the cumulative operation occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeProductWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeProduct(_:axisTensor:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the cumulative minimum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the cumulative operation occurs
+ * @param exclusive if true, performs the exclusive cumulative minimum operation, and the first element will be equal to the highest value of data type.
+ * @param reverse reverse the direction of the cumulative minimum operation along the given axis
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeMinimumWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ exclusive:(BOOL) exclusive
+ reverse:(BOOL) reverse
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeMinimum(_:axis:exclusive:reverse:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the cumulative minimum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the cumulative operation occurs
+ * @param exclusive if true, performs the exclusive cumulative minimum operation, and the first element will be equal to the highest value of data type.
+ * @param reverse reverse the direction of the cumulative minimum operation along the given axis
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeMinimumWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ exclusive:(BOOL) exclusive
+ reverse:(BOOL) reverse
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeMinimum(_:axisTensor:exclusive:reverse:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the inclusive cumulative minimum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the cumulative operation occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeMinimumWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeMinimum(_:axis:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the inclusive cumulative minimum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the cumulative operation occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeMinimumWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeMinimum(_:axisTensor:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the cumulative maximum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the cumulative operation occurs
+ * @param exclusive if true, performs the exclusive cumulative maximum operation, and the first element will be equal to the lowest value of data type.
+ * @param reverse reverse the direction of the cumulative maximum operation along the given axis
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeMaximumWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ exclusive:(BOOL) exclusive
+ reverse:(BOOL) reverse
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeMaximum(_:axis:exclusive:reverse:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the cumulative maximum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the cumulative operation occurs
+ * @param exclusive if true, performs the exclusive cumulative maximum operation, and the first element will be equal to the lowest value of data type.
+ * @param reverse reverse the direction of the cumulative maximum operation along the given axis
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeMaximumWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ exclusive:(BOOL) exclusive
+ reverse:(BOOL) reverse
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeMaximum(_:axisTensor:exclusive:reverse:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the inclusive cumulative maximum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the cumulative operation occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeMaximumWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeMaximum(_:axis:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create the inclusive cumulative maximum op and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the cumulative operation occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) cumulativeMaximumWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( cumulativeMaximum(_:axisTensor:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif /* MPSGraphCumulativeOps_h */
diff -ruN /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphExecutable.h /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphExecutable.h
--- /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphExecutable.h 2022-06-30 22:07:57.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphExecutable.h 2022-07-25 15:36:31.000000000 -0400
@@ -30,7 +30,7 @@
NSError * _Nullable error);
MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
-@interface MPSGraphExecutableExecutionDescriptor : NSObject
+@interface MPSGraphExecutableExecutionDescriptor : NSObject<NSCopying>
/*! @property scheduledHandler
* @discussion scheduledHandler for the graph executable, default value is nil
diff -ruN /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphResizeOps.h /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphResizeOps.h
--- /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphResizeOps.h 2022-06-30 22:10:23.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphResizeOps.h 2022-07-22 10:03:59.000000000 -0400
@@ -17,6 +17,14 @@
MPSGraphResizeBilinear MPS_ENUM_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0)) = 1L,
};
+typedef NS_ENUM(NSUInteger, MPSGraphResizeNearestRoundingMode)
+{
+ MPSGraphResizeNearestRoundingModeRoundPreferCeil MPS_ENUM_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0)) MPS_SWIFT_NAME(roundPreferCeil) = 0L,
+ MPSGraphResizeNearestRoundingModeRoundPreferFloor MPS_ENUM_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0)) = 1L,
+ MPSGraphResizeNearestRoundingModeCeil MPS_ENUM_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0)) = 2L,
+ MPSGraphResizeNearestRoundingModeFloor MPS_ENUM_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0)) = 3L,
+};
+
MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
@interface MPSGraph(MPSGraphResizeOps)
@@ -24,7 +32,7 @@
* @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
+ * Nearest Neighbor - 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.
@@ -47,7 +55,7 @@
*
* @param imagesTensor Tensor containing input images.
* @param size A 2-element shape as [newHeight, newWidth]
- * @param mode The resampling mode to use.
+ * @param mode The resampling mode to use. If nearest sampling is specifed, RoundPreferCeil mode will be used.
* @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.
@@ -69,7 +77,7 @@
* @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
+ * Nearest Neighbor - 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.
@@ -90,14 +98,14 @@
* 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
+ * @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. If nearest sampling is specifed, RoundPreferCeil mode will be used.
+ * @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
*/
@@ -108,23 +116,149 @@
alignCorners:(BOOL) alignCorners
layout:(MPSGraphTensorNamedDataLayout) layout
name:(NSString * _Nullable) name
-MPS_CLASS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
+MPS_AVAILABLE_STARTING(macos(12.0), ios(15.0), tvos(15.0))
MPS_SWIFT_NAME( resize(_:sizeTensor:mode:centerResult:alignCorners:layout:name:) );
+/*!
+ * @abstract Create Resize op and return the result tensor
+ * @discussion Resamples input images to given size using nearest neighbor sampling. This API allows for
+ * the rounding mode to be specified.
+ * See above discussion for more details.
+ *
+ * @param imagesTensor Tensor containing input images.
+ * @param size 1D Int32 or Int64 tensor. A 2-element shape as [newHeight, newWidth]
+ * @param nearestRoundingMode The rounding mode to use when using nearest resampling. Default is roundPreferCeil.
+ * @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 *) resizeNearestWithTensor:(MPSGraphTensor *) imagesTensor
+ sizeTensor:(MPSGraphTensor *) size
+ nearestRoundingMode:(MPSGraphResizeNearestRoundingMode) nearestRoundingMode
+ centerResult:(BOOL) centerResult
+ alignCorners:(BOOL) alignCorners
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0))
+MPS_SWIFT_NAME( resizeNearest(_:sizeTensor:nearestRoundingMode:centerResult:alignCorners:layout:name:) );
+
+/*!
+ * @abstract Create Resize op and return the result tensor
+ * @discussion Resamples input images to given size using bilinear sampling.
+ * See above discussion for more details.
+ *
+ * @param imagesTensor Tensor containing input images.
+ * @param size 1D Int32 or Int64 tensor. A 2-element shape as [newHeight, newWidth]
+ * @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 *) resizeBilinearWithTensor:(MPSGraphTensor *) imagesTensor
+ sizeTensor:(MPSGraphTensor *) size
+ centerResult:(BOOL) centerResult
+ alignCorners:(BOOL) alignCorners
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0))
+MPS_SWIFT_NAME( resizeBilinear(_:sizeTensor:centerResult:alignCorners:layout:name:) );
+
+/*!
+ * @abstract Create Resize op and return the result tensor
+ * @discussion Resamples input images to given size using the provided scale and offset.
+ * Destination indices are computed using
+ * @code
+ * dst_indices = (src_indices * scale) + offset
+ * @endcode
+ * For most use cases passing the scale and offset directly is unnecessary, and it is
+ * preferable to use the API specifying centerResult and alignCorners.
+ *
+ * @param imagesTensor Tensor containing input images.
+ * @param size 1D Int32 or Int64 tensor. A 2-element shape as [newHeight, newWidth]
+ * @param scaleOffset 1D float tensor. A 4-element shape as [scaleY, scaleX, offsetY, offsetX]
+ * @param mode The resampling mode to use. If nearest sampling is specifed, RoundPreferCeil mode will be used.
+ * @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
+ scaleOffsetTensor:(MPSGraphTensor *) scaleOffset
+ mode:(MPSGraphResizeMode) mode
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0))
+MPS_SWIFT_NAME( resize(_:sizeTensor:scaleOffsetTensor:mode:layout:name:) );
+
+/*!
+ * @abstract Create Resize op and return the result tensor
+ * @discussion Resamples input images to given size using the provided scale and offset and nearest neighbor sampling
+ * See above discussion for more details.
+ *
+ * @param imagesTensor Tensor containing input images.
+ * @param size 1D Int32 or Int64 tensor. A 2-element shape as [newHeight, newWidth]
+ * @param scaleOffset 1D float tensor. A 4-element shape as [scaleY, scaleX, offsetY, offsetX]
+ * @param nearestRoundingMode The rounding mode to use when using nearest resampling.
+ * @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 *) resizeNearestWithTensor:(MPSGraphTensor *) imagesTensor
+ sizeTensor:(MPSGraphTensor *) size
+ scaleOffsetTensor:(MPSGraphTensor *) scaleOffset
+ nearestRoundingMode:(MPSGraphResizeNearestRoundingMode) nearestRoundingMode
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0))
+MPS_SWIFT_NAME( resizeNearest(_:sizeTensor:scaleOffsetTensor:nearestRoundingMode:layout:name:) );
+
+/*!
+ * @abstract Create Resize op and return the result tensor
+ * @discussion Resamples input images to given size using the provided scale and offset and bilinear sampling
+ * See above discussion for more details.
+ *
+ * @param imagesTensor Tensor containing input images.
+ * @param size 1D Int32 or Int64 tensor. A 2-element shape as [newHeight, newWidth]
+ * @param scaleOffset 1D float tensor. A 4-element shape as [scaleY, scaleX, offsetY, offsetX]
+ * @param nearestRoundingMode The rounding mode to use when using nearest resampling.
+ * @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 *) resizeBilinearWithTensor:(MPSGraphTensor *) imagesTensor
+ sizeTensor:(MPSGraphTensor *) size
+ scaleOffsetTensor:(MPSGraphTensor *) scaleOffset
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0))
+MPS_SWIFT_NAME( resizeBilinear(_:sizeTensor:scaleOffsetTensor:layout:name:) );
/*!
* @abstract Create Resize gradient op and return the result tensor
* @discussion Computes the gradient for the forward pass Resize op with identical parameters.
* See discussion of resizeTensor for more in depth description of resize paramters.
*
- * @param gradient Incoming gradient tensor
- * @param input Forward pass input tensor
- * @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
+ * @param gradient Incoming gradient tensor
+ * @param input Forward pass input tensor
+ * @param mode The resampling mode to use. If nearest sampling is specifed, RoundPreferCeil mode will be used.
+ * @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
*/
@@ -136,6 +270,123 @@
layout:(MPSGraphTensorNamedDataLayout) layout
name:(NSString * _Nullable) name;
+/*!
+ * @abstract Create Resize gradient op and return the result tensor
+ * @discussion Computes the gradient for the forward pass Resize op with identical parameters.
+ * See discussion of resizeTensor for more in depth description of resize paramters.
+ *
+ * @param gradient Incoming gradient tensor
+ * @param input Forward pass input tensor
+ * @param nearestRoundingMode The rounding mode to use when using nearest resampling.
+ * @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 *) resizeNearestWithGradientTensor:(MPSGraphTensor *) gradient
+ input:(MPSGraphTensor *) input
+ nearestRoundingMode:(MPSGraphResizeNearestRoundingMode) nearestRoundingMode
+ centerResult:(BOOL) centerResult
+ alignCorners:(BOOL) alignCorners
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create Resize gradient op and return the result tensor
+ * @discussion Computes the gradient for the forward pass Resize op with identical parameters.
+ * See discussion of resizeTensor for more in depth description of resize paramters.
+ *
+ * @param gradient Incoming gradient tensor
+ * @param input Forward pass input tensor
+ * @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 *) resizeBilinearWithGradientTensor:(MPSGraphTensor *) gradient
+ input:(MPSGraphTensor *) input
+ centerResult:(BOOL) centerResult
+ alignCorners:(BOOL) alignCorners
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+
+/*!
+ * @abstract Create Resize gradient op and return the result tensor
+ * @discussion Computes the gradient for the forward pass Resize op with identical parameters.
+ * See discussion of resizeTensor for more in depth description of resize paramters.
+ *
+ * @param gradient Incoming gradient tensor
+ * @param input Forward pass input tensor
+ * @param scaleOffset 1D float tensor. A 4-element shape as [scaleY, scaleX, offsetY, offsetX]
+ * @param mode The resampling mode to use. If nearest sampling is specifed, RoundPreferCeil mode will be used.
+ * @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 *) resizeWithGradientTensor:(MPSGraphTensor *) gradient
+ input:(MPSGraphTensor *) input
+ scaleOffsetTensor:(MPSGraphTensor *) scaleOffset
+ mode:(MPSGraphResizeMode) mode
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create Resize gradient op and return the result tensor
+ * @discussion Computes the gradient for the forward pass Resize op with identical parameters.
+ * See discussion of resizeTensor for more in depth description of resize paramters.
+ *
+ * @param gradient Incoming gradient tensor
+ * @param input Forward pass input tensor
+ * @param scaleOffset 1D float tensor. A 4-element shape as [scaleY, scaleX, offsetY, offsetX]
+ * @param nearestRoundingMode The rounding mode to use when using nearest resampling.
+ * @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 *) resizeNearestWithGradientTensor:(MPSGraphTensor *) gradient
+ input:(MPSGraphTensor *) input
+ scaleOffsetTensor:(MPSGraphTensor *) scaleOffset
+ nearestRoundingMode:(MPSGraphResizeNearestRoundingMode) nearestRoundingMode
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create Resize gradient op and return the result tensor
+ * @discussion Computes the gradient for the forward pass Resize op with identical parameters.
+ * See discussion of resizeTensor for more in depth description of resize paramters.
+ *
+ * @param gradient Incoming gradient tensor
+ * @param input Forward pass input tensor
+ * @param scaleOffset 1D float tensor. A 4-element shape as [scaleY, scaleX, offsetY, offsetX]
+ * @param nearestRoundingMode The rounding mode to use when using nearest resampling.
+ * @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 *) resizeBilinearWithGradientTensor:(MPSGraphTensor *) gradient
+ input:(MPSGraphTensor *) input
+ scaleOffsetTensor:(MPSGraphTensor *) scaleOffset
+ layout:(MPSGraphTensorNamedDataLayout) layout
+ name:(NSString * _Nullable) name
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphSortOps.h /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphSortOps.h
--- /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphSortOps.h 1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MPSGraphSortOps.h 2022-07-22 10:04:00.000000000 -0400
@@ -0,0 +1,87 @@
+//
+// MPSGraphSortOps.h
+// MPSGraph
+//
+// Created by Matteo Franciolini on 6/30/22.
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#ifndef MPSGraphSortOps_h
+#define MPSGraphSortOps_h
+
+#import <MetalPerformanceShadersGraph/MPSGraph.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+MPS_CLASS_AVAILABLE_STARTING(macos(11.0), ios(14.0), tvos(14.0))
+@interface MPSGraph(MPSGraphSortOps)
+
+/*!
+ * @abstract Create a sort operation and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the sort occurs
+ * @param descending wether to sort or not in descending order
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) sortWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ descending:(BOOL) descending
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( sort(_:axis:descending:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create a sort operation and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the sort occurs
+ * @param descending wether to sort or not in descending order
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) sortWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ descending:(BOOL) descending
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( sort(_:axisTensor:descending:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create an ascending sort operation and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axis the tensor dimension over which the sort occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) sortWithTensor:(MPSGraphTensor *) tensor
+ axis:(NSInteger) axis
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( sort(_:axis:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+/*!
+ * @abstract Create an ascending sort operation and return the result tensor.
+ *
+ * @param tensor input tensor
+ * @param axisTensor the tensor dimension over which the sort occurs
+ * @param name name for the operation
+ *
+ * @return A valid MPSGraphTensor object.
+ */
+-(MPSGraphTensor *) sortWithTensor:(MPSGraphTensor *) tensor
+ axisTensor:(MPSGraphTensor *) axisTensor
+ name:(NSString * _Nullable) name
+MPS_SWIFT_NAME( sort(_:axisTensor:name:))
+MPS_AVAILABLE_STARTING(macos(13.0), ios(16.0), tvos(16.0));
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif /* MPSGraphSortOps_h */
diff -ruN /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MetalPerformanceShadersGraph.h /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MetalPerformanceShadersGraph.h
--- /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MetalPerformanceShadersGraph.h 2022-06-24 11:52:30.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework/Headers/MetalPerformanceShadersGraph.h 2022-07-14 08:17:14.000000000 -0400
@@ -15,6 +15,7 @@
#import <MetalPerformanceShadersGraph/MPSGraphConvolutionOps.h>
#import <MetalPerformanceShadersGraph/MPSGraphConvolutionTransposeOps.h>
#import <MetalPerformanceShadersGraph/MPSGraphControlFlowOps.h>
+#import <MetalPerformanceShadersGraph/MPSGraphCumulativeOps.h>
#import <MetalPerformanceShadersGraph/MPSGraphDepthwiseConvolutionOps.h>
#import <MetalPerformanceShadersGraph/MPSGraphGatherOps.h>
#import <MetalPerformanceShadersGraph/MPSGraphLinearAlgebraOps.h>
@@ -31,6 +32,7 @@
#import <MetalPerformanceShadersGraph/MPSGraphResizeOps.h>
#import <MetalPerformanceShadersGraph/MPSGraphRNNOps.h>
#import <MetalPerformanceShadersGraph/MPSGraphScatterNDOps.h>
+#import <MetalPerformanceShadersGraph/MPSGraphSortOps.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