Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
Parallel skeletons for structured composition
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Models and languages for parallel computation
ACM Computing Surveys (CSUR)
The functional approach to programming
The functional approach to programming
Skeletons for Data Parallelism in p3l
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
EASY PIPE: An ``EASY to use'' Parallel Image processing Environment based on algorithmic skelekons
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
SKElib: Parallel Programming with Skeletons in C
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
Behavioural Skeletons Meeting Services
ICCS '08 Proceedings of the 8th international conference on Computational Science, Part I
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
A generic packet router IP for multi-processors network-on-chip
Proceedings of the 8th FPGAWorld Conference
Hi-index | 0.00 |
This paper presents SKiPPER, a programming environment dedicated to the fast prototyping of parallel vision algorithms on MIMD-DM platforms. SKiPPER is based upon the concept of algorithmic skeletons, i.e. higher order program constructs encapsulating recurring forms of parallel computations and hiding their low-level implementation details. Each skeleton is given an architecture-independent functional (but executable) specification and a portable implementation as a generic process template. The source program is a purely functional specification of the algorithm in which all parallelism is made explicit by means of composing instances of selected skeletons, each instance taking as parameters the application specific sequential functions written in C. SKiPPER compiles this specification down to a process graph in which nodes correspond to sequential functions and/or skeleton control processes and edges to communications. This graph is then mapped onto the target topology using a third-party CAD software (SynDEx). The result is a dead-lock free, optimized (but still portable) distributed executive, which SKiPPER finally turns into executable code for the target platform. The initial specification, written in ML language, can also be executed on any sequential platform to check the correctness of the parallel algorithm. The applicability of SKiPPER concepts and tools has been demonstrated by parallelising several realistic real-time vision applications both on a multi-DSP platform and a network of workstations. It is here illustrated with a real-time vehicle detection and tracking application.