Operator PARALLELdn

Operator Library: Base

Library: Base

PARALLELdn 算子用于减小输入链路与输出链路之间的 Parallelism。

下图展示了从输入端的 Parallelism 6 到输出端的 Parallelism 3 的并行度向下转换(parallel down conversion)。

在 VisualApplets 中,图像行的宽度必须是 Parallelism 的倍数。 由于 PARALLELdn 算子允许其输出端使用任意 Parallelism,因此输出端的图像行宽度可能不是输出 Parallelism 的倍数。 在这种情况下,算子将添加虚设像素来 Fill 图像行。 该虚设像素的值未定义。 在 VA 仿真中,为了便于观察,虚设像素将被设置为零。

下图直观地展示了这种虚设像素的插入过程。 可以看出,输出 Parallelism 3 无法完全映射输入行宽 8。 此时,额外增加了一个虚设像素,使行宽变为 9。

请注意,Parallelism 减小会导致输出链路的带宽低于输入链路。 由于算子无法缓存数据,这种降低的输出带宽也会体现在输入端,并可能会影响图像流水线中的前置算子。 从技术上讲,在进行并行度向下转换时,算子的输入端会在某些时钟周期内处于关闭/阻塞状态。 下图阐述了该算子的时序。

如果输入 Parallelism 是输出 Parallelism 的整数倍,则该算子所需的资源最少。

I/O Property

Property 值
Operator Type M
Input Link I,数据输入
Output Link O,数据输出

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 64]1 as I
Arithmetic {unsigned, signed} as I
Parallelism any <= input parallelism
Kernel Columns any as I
Kernel Rows any as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format any as I
Color Flavor any as I
Max. Img Width any auto2
Max. Img Height any as I

1

无符号值的输入 Bit Width 范围为 [1, 64]。 对于有符号输入,范围为 [2, 64]。 对于无符号彩色输入,范围为 [3, 63];对于有符号彩色输入,范围为 [6, 63]。

2

输出图像宽度不得超过 2^31-1。输出端的最大图像宽度会自动舍入为 O.Parallelism 的下一个整数倍。 因此,I.MaxImgWidth 不得大于 2^31-1-O.Parallelism,以便输出端舍入后的最大图像宽度不超过 2^31-1。

参数

无

使用示例

以下示例展示了 PARALLELdn 算子的使用方法: