Kernel composition in SYCL

Ralph Potter, Paul Keir, Russell J. Bradford, Alastair Murray

Research output: Chapter or section in a book/report/conference proceedingChapter in a published conference proceeding

11 Citations (SciVal)


Parallel primitives libraries reduce the burden of knowledge required for developers to begin developing parallel applications and accelerating them with OpenCL. Unfortunately some current libraries implement primitives as individual kernels and so incur a high performance cost in off-chip memory operations for intermediate variables. We describe a methodology for creating efficient domain specific embedded languages on top of the SYCL for OpenCL standard for parallel programming. Using this approach, a small example language was developed which provides an environment for composing image processing pipelines from a library of more primitive operations, while retaining the capability to generate a single kernel from a complex expression, and so eliminate unnecessary intermediate loads and stores to global memory. This elimination of global memory accesses leads to a 2.75x speedup over implementing an unsharp mask in OpenCLIPP. We give details of our domain specific embedded language, and provide experimental performance measurements of both primitive performance and an unsharp mask operation composed of multiple primitives.

Original languageEnglish
Title of host publicationProceedings of the 3rd International Workshop on OpenCL (IWOCL), 2015
Place of PublicationNew York, U. S. A.
PublisherAssociation for Computing Machinery
ISBN (Print)9781450334846
Publication statusPublished - 12 May 2015
Event3rd International Workshop on OpenCL, IWOCL 2015 - Palo Alto, USA United States
Duration: 12 May 201513 May 2015


Conference3rd International Workshop on OpenCL, IWOCL 2015
Country/TerritoryUSA United States
CityPalo Alto


  • GPUs
  • Kernel fusion
  • OpenCL
  • SYCL


Dive into the research topics of 'Kernel composition in SYCL'. Together they form a unique fingerprint.

Cite this