Rapid Customization of Image Processors Using Halide
Korhonen, Ville; Jääskeläinen, Pekka; Koskela, Matias; Viitanen, Timo; Takala, Jarmo (2015-12-14)
Korhonen, Ville
Jääskeläinen, Pekka
Koskela, Matias
Viitanen, Timo
Takala, Jarmo
14.12.2015
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202010297695
https://urn.fi/URN:NBN:fi:tuni-202010297695
Kuvaus
Peer reviewed
Tiivistelmä
Image processing applications typically involve data-oriented kernels with limited control divergence. In order to efficiently exploit the data level parallelism, image processors include SIMD instructions and other parallel computation resources. Generic processors that can be purchased off-the-shelf<br/>are adequate for most of the use scenarios of image processing.However, especially with embedded mobile devices, they might not be optimal for the algorithm, the environment, or the energy budget at hand. Such cases call for programmable customized architectures with just enough hardware resources to ensure the high priority applications reach their real time goals with minimal<br/>overheads. In order to maintain high engineer productivity, implementing<br/>image algorithms for customized processors should be as easy as with standard processors. This is emphasized at the processor codesign time; because the program is used to drive the processor design space exploration towards an optimized architecture, assembly programming is not feasible due to the required porting effort whenever the architecture is modified.In this paper we propose an image processor customization flow that exploits the domain-specific Halide language as an input to a processor co-design environment. In addition to efficiently exploiting standard resources in the customized processors, the flow provides an easy way to invoke special instructions from<br/>Halide programs. We validate the performance benefits of custom operations using example filters described with the Halide language.
Kokoelmat
- TUNICRIS-julkaisut [20689]