SYMPAD – A Class Library for Processing Parallel Algorithm Specifications

Publikation: Beitrag in Buch/Konferenzbericht/Sammelband/GutachtenBeitrag in KonferenzbandBeigetragenBegutachtung

Beitragende

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

OriginalspracheEnglisch
TitelDresdner Arbeitstagung Schaltungs und Systementwurf (DASS)
ErscheinungsortDresden, Germany
Seiten93-98
Seitenumfang6
PublikationsstatusVeröffentlicht - 1 Mai 2007
Peer-Review-StatusJa