Vectorization of transprecision applications for the PULP platform

Vectorization is a key technique to improve performance andpower consumption of applications adopting smaller-than-32bits data types on the PULP platform. The current version of the PULP compiler (https://github.com/pulp-platform/pulp-riscv-gnu-toolchain) provides baseline support to automatic vectorization of “smallint” and “smallfloat” types; in most cases, this is not enough to take full advantage of the hardware features. In this context, we are looking for project proposals that explore the benefits of manual vectorization, taking into account a set of applications that are amenable to transprecision techniques (some examples are available at https://github.com/oprecomp/micro-benchmarks).Programmers can perform validation using the PULP virtual platform or the FPGA emulator.Further details on the PULP ecosystem are available at:https://github.com/pulp-platform/pulp-sdk.

References:

For additional information, you can contact: Giuseppe Tagliavini