Exploiting Task Parallelism with OpenCL: A Case Study

Pekka Jääskeläinen, Ville Korhonen, Matias Koskela, Jarmo Takala, Karen Egiazarian, Aram Danielyan, Cristóvão Cruz, Price James, Simon McIntosh-Smith

    Research output: Contribution to journalArticleScientificpeer-review

    3 Citations (Scopus)
    20 Downloads (Pure)

    Abstract

    While data parallelism aspects of OpenCL have been of primary interest due to the massively data parallel GPUs being on focus, OpenCL also provides powerful capabilities to describe task parallelism. In this article we study the task parallel concepts available in OpenCL and find out how well the different vendor-specific implementations can exploit task parallelism when the parallelism is described in various ways utilizing the command queues. We show that the vendor implementations are not yet capable of extracting kernel-level task parallelism from in-order queues automatically. To assess the potential performance benefits of in-order queue parallelization, we implemented such capabilities to an open source implementation of OpenCL. The evaluation was conducted by means of a case study of an advanced noise reduction algorithm described as a multi-kernel OpenCL application.
    Original languageEnglish
    JournalJournal of Signal Processing Systems
    DOIs
    Publication statusPublished - 15 Oct 2018
    Publication typeA1 Journal article-refereed

    Publication forum classification

    • Publication forum level 1

    Fingerprint Dive into the research topics of 'Exploiting Task Parallelism with OpenCL: A Case Study'. Together they form a unique fingerprint.

    Cite this