Truncate(ISASI)
Applicability
Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
√ |
x |
|
x |
|
x |
|
x |
|
x |
|
x |
Function Usage
Truncates floating-point elements of the source operand to their integer part, while retaining the data type of the source operand.
Prototype
1 2 | template <typename T, RoundMode roundMode> __aicore__ inline void Truncate(const LocalTensor<T> &dst, const LocalTensor<T> &src, const uint32_t count) |
Parameters
Parameter |
Description |
|---|---|
T |
Operand data type. For the Atlas 350 Accelerator Card, the supported data types are half, float, and bfloat16_t. |
roundMode |
Rounding mode. The values are as follows:
|
Parameter |
Input/Output |
Description |
|---|---|---|
dst |
Output |
Destination operand. The type is LocalTensor, and TPosition can be VECIN, VECCALC, or VECOUT. The start address of LocalTensor must be 32-byte aligned. |
src |
Input |
Source operand. The type is LocalTensor, and TPosition can be VECIN, VECCALC, or VECOUT. The start address of LocalTensor must be 32-byte aligned. The source operand must have the same data type as the destination operand. |
count |
Input |
Number of elements involved in the computation. |
Returns
None
Restrictions
- For details about the operand address alignment requirements, see General Address Alignment Restrictions.
Examples
1 | AscendC::Truncate<T, RoundMode::CAST_FLOOR>(dstLocal, srcLocal, 512); |
Input (srcLocal): [-37.063736 64.17277 -33.448692 ... ] Output (dstLocal): [-38 64 -34 ... ]