GetReduceSumMaxMinTmpSize
Function Usage
To perform ReduceSum computation in the kernel, developers need to reserve or allocate the temporary space. This API is used to obtain the maximum and minimum sizes of the temporary space to be reserved or allocated on the host. Developers can select a proper size within this range as the tiling parameter and pass it to the kernel.
- To ensure correct functions, the temporary space to be reserved or allocated cannot be less than the minimum temporary space.
- Within the range from the minimum to the maximum, as the temporary space increases, the API compute performance in the kernel can be optimized to some extent. To achieve better performance, reserve or allocate the space based on the actual buffer usage. The maximum temporary space of this API is currently equal to the minimum temporary space.
Prototype
1
|
void GetReduceSumMaxMinTmpSize(const ge::Shape& srcShape, const ge::DataType dataType, ReducePattern pattern, bool isSrcInnerPad, bool isReuseSource, uint32_t& maxValue, uint32_t& minValue) |
Parameters
Returns
None
Constraints
None
Examples
For a complete call example, see More Examples.
1 2 3 4 5 6 7 |
// The input shape is 1024. The operator input data is of the float type. The source operand cannot be modified. auto shape = ge::Shape({ 16, 32 }); uint32_t maxValue = 0; uint32_t minValue = 0; bool isSrcInnerPad = true; bool isReuseSource = false; AscendC::GetReduceSumMaxMinTmpSize(shape, ge::DataType::DT_FLOAT, AscendC::ReducePattern::AR, isSrcInnerPad, isReuseSource, maxValue, minValue); |
Parent topic: ReduceSum APIs