Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mpscoretypes.h(3) [mojave man page]

MPSCoreTypes.h(3)					 MetalPerformanceShaders.framework					 MPSCoreTypes.h(3)

NAME
MPSCoreTypes.h SYNOPSIS
#import <Foundation/NSObject.h> #import <Metal/Metal.h> Classes struct MPSOffset struct MPSOrigin struct MPSSize struct MPSRegion struct MPSScaleTransform protocol <MPSDeviceProvider> Macros #define __has_attribute(a) 0 #define __has_feature(f) 0 #define __has_extension(e) 0 #define MPS_HIDE_AVAILABILITY 1 #define MPS_ENUM_AVAILABLE_STARTING(...) #define MPS_ENUM_AVAILABLE_STARTING_BUT_DEPRECATED(...) #define MPS_CLASS_AVAILABLE_STARTING(...) #define MPS_AVAILABLE_STARTING(...) #define MPS_AVAILABLE_STARTING_BUT_DEPRECATED(...) #define MPS_SWIFT_NAME(...) Typedefs typedef enum MPSImageEdgeMode MPSImageEdgeMode typedef enum MPSImageFeatureChannelFormat MPSImageFeatureChannelFormat typedef enum MPSDataType MPSDataType typedef struct MPSOrigin MPSOrigin typedef struct MPSSize MPSSize typedef struct MPSRegion MPSRegion typedef struct MPSScaleTransform MPSScaleTransform Enumerations enum MPSKernelOptions { MPSKernelOptionsNone, MPSKernelOptionsSkipAPIValidation, MPSKernelOptionsAllowReducedPrecision, MPSKernelOptionsDisableInternalTiling, MPSKernelOptionsInsertDebugGroups, MPSKernelOptionsVerbose } enum MPSImageEdgeMode { MPSImageEdgeModeZero, MPSImageEdgeModeClamp } enum MPSImageFeatureChannelFormat { MPSImageFeatureChannelFormatNone, MPSImageFeatureChannelFormatUnorm8, MPSImageFeatureChannelFormatUnorm16, MPSImageFeatureChannelFormatFloat16, MPSImageFeatureChannelFormatFloat32 } enum MPSDataType { MPSDataTypeInvalid, MPSDataTypeFloatBit, MPSDataTypeFloat32, MPSDataTypeFloat16, MPSDataTypeSignedBit, DEPRECATED_ATTRIBUTE = MPSDataTypeSignedBit, MPSDataTypeInt8, MPSDataTypeInt16, MPSDataTypeUInt8, MPSDataTypeUInt16, MPSDataTypeUInt32, MPSDataTypeNormalizedBit, MPSDataTypeUnorm1, MPSDataTypeUnorm8 } Macro Definition Documentation #define __has_attribute(a) 0 MPSTypes.h MPSCore Copyright: Copyright (c) 2017 Apple Inc. All rights reserved. Types common to MetalPerformanceShaders.framework #define __has_extension(e) 0 #define __has_feature(f) 0 #define MPS_AVAILABLE_STARTING( ...) #define MPS_AVAILABLE_STARTING_BUT_DEPRECATED( ...) #define MPS_CLASS_AVAILABLE_STARTING( ...) #define MPS_ENUM_AVAILABLE_STARTING( ...) #define MPS_ENUM_AVAILABLE_STARTING_BUT_DEPRECATED( ...) #define MPS_HIDE_AVAILABILITY 1 #define MPS_SWIFT_NAME( ...) Typedef Documentation typedef enum MPSDataType MPSDataType" typedef enum MPSImageEdgeMode MPSImageEdgeMode" typedef enum MPSImageFeatureChannelFormat MPSImageFeatureChannelFormat" typedef struct MPSOrigin MPSOrigin typedef struct MPSRegion MPSRegion typedef struct MPSScaleTransform MPSScaleTransform typedef struct MPSSize MPSSize Enumeration Type Documentation enum MPSDataType A value to specify a type of data. MPSDataTypeFloatBit A common bit for all floating point data types. Zero for integer types MPSDataTypeNormalizedBit If set, the value of the shall be interpreted as value / UNORM_TYPE_MAX Normalized values have range [0, 1.0] if unsigned and [-1,1] if signed. SNORM_TYPE_MIN is interpreted as SNORM_TYPE_MIN+1 per standard Metal rules. MSPDataTypeFloat32 32-bit floating point (single-precision). MSPDataTypeFloat16 16-bit floating point (half-precision). (IEEE-754-2008 float16 exchange format) MPSDataTypeInt8 Signed 8-bit integer. MPSDataTypeInt16 Signed 16-bit integer. MPSDataTypeUInt8 Unsigned 8-bit integer. Not normalized MPSDataTypeUInt16 Unsigned 16-bit integer. Not normalized MPSDataTypeUInt32 Unsigned 32-bit integer. Not normalized MPSDataTypeUnorm1 Unsigned 1-bit normalized value. MPSDataTypeUnorm8 Unsigned 8-bit normalized value. Enumerator MPSDataTypeInvalid MPSDataTypeFloatBit MPSDataTypeFloat32 MPSDataTypeFloat16 MPSDataTypeSignedBit DEPRECATED_ATTRIBUTE MPSDataTypeInt8 MPSDataTypeInt16 MPSDataTypeUInt8 MPSDataTypeUInt16 MPSDataTypeUInt32 MPSDataTypeNormalizedBit MPSDataTypeUnorm1 MPSDataTypeUnorm8 enum MPSImageEdgeMode Options used to control edge behaviour of filter when filter reads beyond boundary of src image Enumerator MPSImageEdgeModeZero Out of bound pixels are (0,0,0,1) for image with pixel format without alpha channel and (0,0,0,0) for image with pixel format that has an alpha channel MPSImageEdgeModeClamp Out of bound pixels are clamped to nearest edge pixel enum MPSImageFeatureChannelFormat Encodes the representation of a single channel within a MPSImage. A MPSImage pixel may have many channels in it, sometimes many more than 4, the limit of what MTLPixelFormats encode. The storage format for a single channel within a pixel can be given by the MPSImageFeatureChannelFormat. The number of channels is given by the featureChannels parameter of appropriate MPSImage APIs. The size of the pixel is size of the channel format multiplied by the number of feature channels. No padding is allowed, except to round out to a full byte. Enumerator MPSImageFeatureChannelFormatNone No format. This can mean according to context invalid format or any format. In the latter case, it is an invitation to MPS to pick a format. MPSImageFeatureChannelFormatUnorm8 uint8_t with value [0,255] encoding [0,1.0] MPSImageFeatureChannelFormatUnorm16 uint16_t with value [0,65535] encoding [0,1.0] MPSImageFeatureChannelFormatFloat16 IEEE-754 16-bit floating-point value. 'half precision' Representable normal range is +-[2**-14, 65504], 0, Infinity, NaN. 11 bits of precision + exponent. MPSImageFeatureChannelFormatFloat32 IEEE-754 32-bit floating-point value. 'single precision' (standard float type in C) 24 bits of precision + exponent enum MPSKernelOptions Options used when creating MPSKernel objects Enumerator MPSKernelOptionsNone Use default options MPSKernelOptionsSkipAPIValidation Most MPS functions will sanity check their arguments. This has a small but non-zero CPU cost. Setting the MPSKernelOptionsSkipAPIValidation will skip these checks. MPSKernelOptionsSkipAPIValidation does not skip checks for memory allocation failure. Caution: turning on MPSKernelOptionsSkipAPIValidation can result in undefined behavior if the requested operation can not be completed for some reason. Most error states will be passed through to Metal which may do nothing or abort the program if Metal API validation is turned on. MPSKernelOptionsAllowReducedPrecision When possible, MPSKernels use a higher precision data representation internally than the destination storage format to avoid excessive accumulation of computational rounding error in the result. MPSKernelOptionsAllowReducedPrecision advises the MPSKernel that the destination storage format already has too much precision for what is ultimately required downstream, and the MPSKernel may use reduced precision internally when it feels that a less precise result would yield better performance. The expected performance win is often small, perhaps 0-20%. When enabled, the precision of the result may vary by hardware and operating system. MPSKernelOptionsDisableInternalTiling Some MPSKernels may automatically split up the work internally into multiple tiles. This improves performance on larger textures and reduces the amount of memory needed by MPS for temporary storage. However, if you are using your own tiling scheme to achieve similar results, your tile sizes and MPS's choice of tile sizes may interfere with one another causing MPS to subdivide your tiles for its own use inefficiently. Pass MPSKernelOptionsDisableInternalTiling to force MPS to process your data tile as a single chunk. MPSKernelOptionsInsertDebugGroups Enabling this bit will cause various -encode... methods to call MTLCommandEncoder push/popDebugGroup. The debug string will be drawn from MPSKernel.label, if any or the name of the class otherwise. MPSKernelOptionsVerbose Some parts of MPS can provide debug commentary and tuning advice when run. Setting this bit to 1 will cause the commentary to be emitted to stderr. Otherwise, the code is silent. This is especially useful for debugging MPSNNGraph. This option is on by default when the MPS_LOG_INFO environment variable is defined. For even more detailed output on a MPS object, you can use the po command in llvm with MPS objects: llvm> po <MPS object pointer> Author Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code. Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSCoreTypes.h(3)
Man Page