VOBLA: A vehicle for optimized basic linear algebra

Ulysse Beaugnon, Alexey Kravets, Sven Van Haastregt, Riyadh Baghdadi, David Tweed, Javed Absar, Anton Lokhmotov

Research output: Contribution to journalArticlepeer-review

Abstract

We present VOBLA, a domain-specific language designed for programming linear algebra libraries. VOBLA is compiled to PENCIL, a domain independent intermediate language designed for efficient mapping to accelerator architectures such as GPGPUs. PENCIL is compiled to efficient, platform-specific OpenCL code using techniques based on the polyhedral model. This approach addresses both the programmer productivity and performance portability concerns associated with accelerator programming.

We demonstrate our approach by using VOBLA to implement a BLAS library. We have evaluated the performance of OpenCL code generated using our compilation flow on ARM Mali, AMD Radeon, and AMD Opteron platforms. The generated code is currently on average 1:9× slower than highly hand-optimized OpenCL code, but on average 8:1× faster than straightforward OpenCL code. Given that the VOBLA coding takes significantly less effort compared to hand-optimizing OpenCL code, we believe our approach leads to improved productivity and performance portability. Copyright is held by the owner/author(s).

Original languageEnglish (US)
Pages (from-to)115-124
Number of pages10
JournalACM SIGPLAN Notices
Volume49
Issue number5
DOIs
StatePublished - May 5 2014

Keywords

  • BLAS
  • Domain-specific language
  • GPU
  • Linear algebra
  • Parallel
  • Sparse matrix

ASJC Scopus subject areas

  • General Computer Science

Fingerprint

Dive into the research topics of 'VOBLA: A vehicle for optimized basic linear algebra'. Together they form a unique fingerprint.

Cite this