liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
BlockLib: A Skeleton Library for Cell Broadband Engine
Linköpings universitet.
Linköping University, The Institute of Technology. Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory.
Linköping University, The Institute of Technology. Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory.ORCID iD: 0000-0001-5241-0026
2008 (English)In: Proceedings - International Conference on Software Engineering, New York, USA: ACM , 2008, p. 7-14Conference paper, Published paper (Refereed)
Abstract [en]

Cell Broadband Engine is a heterogeneous multicore processor for high-performance computing and gaming. Its architecture allows for an impressive peak performance but, at the same time, makes it very hard to write efficient code. The need to simultaneously exploit SIMD instructions, coordinate parallel execution of the slave processors, overlap DMA memory traffic with computation, keep data properly aligned in memory, and explicitly manage the very small on-chip memory buffers of the slave processors, leads to very complex code. In this work, we adopt the skeleton programming approach to abstract from much of the complexity of Cell programming while maintaining high performance. The abstraction is achieved through a library of parallel generic building blocks, called BlockLib. Macro-based generative programming is used to reduce the overhead of genericity in skeleton functions and control code size expansion. We demonstrate the library usage with a parallel ODE solver application. Our experimental results show that BlockLib code achieves performance close to hand-written code and even outperforms the native IBM BLAS library in cases where several slave processors are used.

Place, publisher, year, edition, pages
New York, USA: ACM , 2008. p. 7-14
Keywords [en]
generic parallel programming, parallel computing, generative programming, software library, multicore processor, software components
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:liu:diva-43692DOI: 10.1145/1370082.1370088Local ID: 74556ISBN: 978-1-60558-031-9 (print)OAI: oai:DiVA.org:liu-43692DiVA, id: diva2:264552
Conference
30th International Conference on Software Engineering, ICSE 2008 Co-located Workshops - 1st International Workshop on Multicore Software Engineering, IWMSE
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2018-01-12

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full texthttp://portal.acm.org/citation.cfm?doid=1370082.1370088

Authority records

Eriksson, MattiasKessler, Christoph

Search in DiVA

By author/editor
Eriksson, MattiasKessler, Christoph
By organisation
The Institute of TechnologyPELAB - Programming Environment Laboratory
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 291 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf