Skip to content

MPSNDArray tvOS xcode16.0 b3

Rolf Bjarne Kvinge edited this page Aug 30, 2024 · 3 revisions

#MPSNDArray.framework https://github.com/xamarin/xamarin-macios/pull/21155

diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Headers/MPSNDArrayKernel.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Headers/MPSNDArrayKernel.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Headers/MPSNDArrayKernel.h	2024-06-12 20:24:24
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Headers/MPSNDArrayKernel.h	2024-06-29 07:40:21
@@ -163,6 +163,19 @@
                   resultState: (MPSState * __nullable) outGradientState
              destinationArray: (MPSNDArray * __nonnull) destination;
 
+/*! @abstract   Encode a simple inference NDArray kernel and return a NDArray to hold the result
+ *  @param      encoder                       The MTLComputeCommandEncoder that the kernel will be encoded on
+ *  @param      commandBuffer          The command buffer into which to encode the kernel
+ *  @param      sourceArrays             The list of sources for the filter in a NSArray.
+ *                                Ordering to be defined by subclass
+ *  @param      destination               A destination array to contain the result of the calculation
+ *              when the command buffer completes successfully. */
+-(void) encodeToCommandEncoder: (id <MTLComputeCommandEncoder> _Nullable)encoder
+                 commandBuffer: (nonnull id <MTLCommandBuffer>) commandBuffer
+                  sourceArrays: (nonnull NSArray <MPSNDArray *> *) sourceArrays
+              destinationArray: (nonnull MPSNDArray *) destination
+MPS_AVAILABLE_STARTING(macos(15.0), ios(18.0), macCatalyst(18.0), tvos(18.0), xros(2.0));
+
 @end
 
 
diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Headers/MPSNDArrayQuantization.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Headers/MPSNDArrayQuantization.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Headers/MPSNDArrayQuantization.h	2024-06-14 00:25:28
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Headers/MPSNDArrayQuantization.h	2024-06-29 08:17:01
@@ -80,6 +80,17 @@
  */
 @property (readwrite, nonatomic) BOOL hasMinValue;
 
+/*! @property implicitZeroPoint
+ *  @abstract If true and quantized values are signed, these are assumed to be stored with an
+ *            implicit offset or zero-point of 2^(quantizationBitWidth-1) added to bring signed values into unsigned range.
+ *            e.g. Int4 values are in range [-8,7]. If we add 8 to it values are in range
+ *            [0,15] and can be encoded/stored as UInt4.
+ *            Default is false. Its only currently applicable to Int4.
+ *            Implementation will generate error for any other data type;
+ */
+@property (readwrite, nonatomic) bool implicitZeroPoint;
+
+
 
 - (nonnull instancetype) init;
 
Clone this wiki locally