Automated Design of Application-Specific Smart Camera Architectures

Abstract

Parallel heterogeneous multiprocessor systems are often shunned in embedded system design, not only because of their design complexity but because of the programming burden. Programs for such systems are architecture-dependent: the application developer needs architecture-specific knowledge to implement his algorithms, as each processor has its own characteristics and programming language. He will therefore often stick to the architectures he knows best instead of looking for the best one. This leads to suboptimal solutions, and costly redesign efforts if the chosen architecture later proves to be insufficient. Our solution to this problem uses a programming model based on the concept of architecture independence through algorithm dependence. By limiting the expressiveness of a programming language to just those concepts needed to implement a given class of algorithms, it may be compiled to a variety of different (parallel) processor architectures. We introduce a new meta-programming language that can be used to compile these algorithm-specific languages. The user program then consists of a number of algorithms written in different languages, and which are automatically mapped to the multiprocessor system, achieving architecture independence. We use this architecture independence to conduct an automated design space exploration of possible architectures, creating a Pareto front of optimal trade-offs between performance, area and power consumption. The developer can choose the final architecture from this set.Applied Science

    Similar works

    Full text

    thumbnail-image

    Available Versions

    Last time updated on 09/03/2017