Published date : 2020.03.01
ISSN : 2076-3417
doi:10.3390/app10051656
Today, many big data applications require massively parallel tasks to compute complicated
mathematical operations. To perform parallel tasks, platforms like CUDA (Compute Unified Device
Architecture) and OpenCL (Open Computing Language) are widely used and developed to enhance
the throughput of massively parallel tasks. There is also a need for high-level abstractions and
platform-independence over those massively parallel computing platforms. Recently, Khronos
group announced SYCL (C++ Single-source Heterogeneous Programming for OpenCL), a new
cross-platform abstraction layer, to provide an ecient way for single-source heterogeneous
computing, with C++-template-level abstractions. However, since there has been no ocial
implementation of SYCL, we currently have several dierent implementations from various vendors.
In this paper, weanalyse the characteristics of those SYCL implementations. We also show performance
measures of those SYCL implementations, especially for well-known massively parallel tasks. We show
that each implementation has its own strength in computing dierent types of mathematical operations,
along with dierent sizes of data. Our analysis is available for fundamental measurements of the
abstract-level cost-eective use of massively parallel computations, especially for big-data applications.