MPSTemporaryMatrix(3) | MetalPerformanceShaders.framework | MPSTemporaryMatrix(3) |
MPSTemporaryMatrix
#import <MPSMatrixTypes.h>
Inherits MPSMatrix.
(nonnull instancetype) - initWithBuffer:descriptor:
(nonnull instancetype) +
temporaryMatrixWithCommandBuffer:matrixDescriptor:
(void) + prefetchStorageWithCommandBuffer:matrixDescriptorList:
NSUInteger readCount
*** unavailable
Reimplemented from MPSMatrix.
Help MPS decide which allocations to make ahead of time The buffer cache that underlies the MPSTemporaryMatrix can automatically allocate new storage as needed as you create new temporary matrices. However, sometimes a more global view of what you plan to make is useful for maximizing memory reuse to get the most efficient operation. This class method hints to the cache what the list of matrices will be.
It is never necessary to call this method. It is purely a performance and memory optimization.
Parameters:
Initialize a MPSTemporaryMatrix for use on a MTLCommandBuffer
Parameters:
Returns:
The number of times a temporary matrix may be read by a MPSMatrix... kernel before its contents become undefined.
MPSTemporaryMatrices must release their underlying buffers for reuse immediately after last use. So as to facilitate prompt convenient memory recycling, each time a MPSTemporaryMatrix is read by a MPSMatrix... -encode... method, its readCount is automatically decremented. When the readCount reaches 0, the underlying buffer is automatically made available for reuse to MPS for its own needs and for other MPSTemporaryMatrices prior to return from the -encode.. function. The contents of the buffer become undefined at this time.
By default, the readCount is initialized to 1, indicating a matrix that may be overwritten any number of times, but read only once.
You may change the readCount as desired to allow MPSMatrixKernels to read the MPSTemporaryMatrix additional times. However, it is an error to change the readCount once it is zero. It is an error to read or write to a MPSTemporaryMatrix with a zero readCount. You may set the readCount to 0 yourself to cause the underlying buffer to be returned to MPS. Writing to a MPSTemporaryMatrix does not adjust the readCount.
The Metal API Validation layer will assert if a MPSTemporaryMatrix is deallocated with non-zero readCount to help identify cases when resources are not returned promptly.
Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.
Mon Jul 9 2018 | Version MetalPerformanceShaders-119.3 |