SwePub
Sök i LIBRIS databas

  Utökad sökning

id:"swepub:oai:research.chalmers.se:a1ff7641-5b83-4da9-84e2-a2aa4062cfc0"
 

Sökning: id:"swepub:oai:research.chalmers.se:a1ff7641-5b83-4da9-84e2-a2aa4062cfc0" > Parallel Programmin...

Parallel Programming in Haskell Almost for Free: an embedding of Intel's Array Building Blocks

Svensson, Joel Bo, 1979 (författare)
Chalmers tekniska högskola,Chalmers University of Technology
Sheeran, Mary, 1959 (författare)
Chalmers tekniska högskola,Chalmers University of Technology
 (creator_code:org_t)
ISBN 9781450315777
2012-09-15
2012
Engelska.
Ingår i: 1st ACM SIGPLAN Workshop on Functional High Performance Computing, FHPC 2012. Copenhagen, 15 September 2012. - New York, NY, USA : ACM. - 9781450315777 ; , s. 3-14
  • Konferensbidrag (refereegranskat)
Abstract Ämnesord
Stäng  
  • Nowadays, performance in processors is increased by adding more cores orwider vector units, or by combining accelerators like GPUs and traditional cores on a chip. Programming for these diverse architectures is a challenge. We would like to exploit all the resources at hand without putting too much burden on the programmer. Ideally, the programmer should be presented with a machine model abstracted from the specific number of cores, SIMD width or the existence of a GPU or not. Intel's Array Building Blocks (ArBB) is a system that takes on these challenges. ArBB is a language for data parallel and nested data parallel programming, embedded in C++. By offering a retargetable dynamic compilation framework, it provides vectorisation and threading to programmers without the need to write highly architecture specific code. We aim to bring the same benefits to the Haskell programmer by implementing a Haskell frontend(embedding) of the ArBB system. We call this embedding EmbArBB. We use standard Haskell embedded language procedures to provide an interface to the ArBB functionality in Haskell. EmbArBB is work in progress and does not currently support all of the ArBB functionality.Some small programming examples illustrate how the Haskell embedding is used to write programs. ArBB code is short and to the point in both C++ and Haskell.Matrix multiplication has been benchmarked in sequential C++, ArBB in C++, EmbArBB and the Repa library.The C++ and the Haskell embeddings have almost identical performance, showing that the Haskell embedding does not impose any large extra overheads. Two image processing algorithms have also been benchmarked against Repa. In these benchmarksat least, EmbArBB performanceis much better than that of the Repa library, indicating that building on ArBB may be a cheap and easy approach to exploiting data parallelism in Haskell.

Ämnesord

NATURVETENSKAP  -- Data- och informationsvetenskap -- Datavetenskap (hsv//swe)
NATURAL SCIENCES  -- Computer and Information Sciences -- Computer Sciences (hsv//eng)

Nyckelord

Data parallelism
array programming
embedded language
dynamic compilation

Publikations- och innehållstyp

kon (ämneskategori)
ref (ämneskategori)

Hitta via bibliotek

Till lärosätets databas

Hitta mer i SwePub

Av författaren/redakt...
Svensson, Joel B ...
Sheeran, Mary, 1 ...
Om ämnet
NATURVETENSKAP
NATURVETENSKAP
och Data och informa ...
och Datavetenskap
Artiklar i publikationen
1st ACM SIGPLAN ...
Av lärosätet
Chalmers tekniska högskola

Sök utanför SwePub

Kungliga biblioteket hanterar dina personuppgifter i enlighet med EU:s dataskyddsförordning (2018), GDPR. Läs mer om hur det funkar här.
Så här hanterar KB dina uppgifter vid användning av denna tjänst.

 
pil uppåt Stäng

Kopiera och spara länken för att återkomma till aktuell vy