SYMPAD – A Class Library for Processing Parallel Algorithm Specifications
Research output: Contribution to book/Conference proceedings/Anthology/Report › Conference contribution › Contributed › peer-review
Contributors
Abstract
Many of todays compute intensive applications rely on efficient parallel execution to meet the requirements. Examples are multimedia and scientific applications. Parallel processing can take place at different levels of granularity, e.g. as compute clusters, multicore CPUs, subword parallel processing units (MMX, SSE) or processor arrays. However, the parallel implementation of algorithms on such architectures is not a trivial task. Compilers can often extract only small scale parallism. Increased parallelism can be achieved with advanced programming models. Those models represent the operations of the algorithms and the data dependencies between those operations without unnecessary sequential execution information of operations. We use a model that represents the operations in a polytope space, the so called iteration space. The model supports the class of affine indexed algorithms (AIAs). In this paper we describe a novel design flow that allows us to map parallel algorithms efficiently to different target architectures supporting parallel processing. The main focus of the paper is set on the tool support of the design flow, which is based on our C++ class library SYMPAD. We will introduce SYMPAD in detail.
Details
Original language | English |
---|---|
Title of host publication | Dresdner Arbeitstagung Schaltungs und Systementwurf (DASS) |
Place of Publication | Dresden, Germany |
Pages | 93-98 |
Number of pages | 6 |
Publication status | Published - 1 May 2007 |
Peer-reviewed | Yes |