The HPL module mainly works in the pre- and post-processing stages of the model in the NN-centered computing scheme.
In the horizon UCP, various hardware have been equipped with image processing operators, and the HPL module encapsulates the hardware calling related to image processing, and selects different hardware solutions by setting the backend (if you don't specify the backend, the UCP will automatically adapt the processing unit with a lower load), which balances the load of the development board, fully exploits the board's computing power, and avoids the trouble of the difference between the different hardware calling, so that you can pay more attention to the software functions.
As shown in the above picture, through the task constructor fuctions of the operators provided by the HPL module, such as hbFFT1D, hbIFFT1D, etc., the application generates the task handle of the corresponding operator. UCP provides the Service that contains modules such as task scheduling, session management, engine management, etc. After the task handles of the corresponding operators are generated, the operator tasks are committed to the task queue through the UCP task scheduling interface and allocated to different underlying hardware to realize the functional logic of the operator. The bottom layer is the function of the operators implemented encapsulated in the different processing units.
Before reading this section, please clarify the following basic concepts, which may be mentioned several times in the following sections:
High Performance Library, refers to the library of encapsulated high-performance operator library.
Operator, refers to the high-performance functions contained in the operator library.
DSP, the whole name Digital Signal Processing, refers to the Digital Signal Processing.
Backends, refers to the allocatable processing units in the UCP framework.
Kernel, refers to the convolutional kernel parameter in the operator.