Large-Scale Data Computing Performance Comparisons on SYCL Heterogeneous Parallel Processing Layer Implementations
Source abstract
Abstract
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 efficient way for single-source heterogeneous computing, with C++-template-level abstractions. However, since there has been no official implementation of SYCL, we currently have several different implementations from various vendors. In this paper, we analyse 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 different types of mathematical operations, along with different sizes of data. Our analysis is available for fundamental measurements of the abstract-level cost-effective use of massively parallel computations, especially for big-data applications.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Parallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Advanced Data Storage Technologies
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
School of Computer Science and Engineering, Kyungpook National University, Daegu 41566, Korea
Department of Computer Science, Chungbuk National University, Cheongju 28644, Korea
Funding
National Research Foundation of Korea · Institute for Information and Communications Technology Promotion
References (27)
Show source-provided references
1. Su, C., Chen, P., Lan, C., Huang, L., and Wu, K. (2012, January 2–5). Overview and Comparison of OpenCL and CUDA Technology for GPGPU. Proceedings of the 2012 IEEE Asia Pacific Conference on Circuits and Systems, Kaohsiung, Taiwan.10.1109/APCCAS.2012.6419068 ↗
2. Massively Parallel Acceleration Methods for Image Handling Operations10.1007/s10586-017-0788-5 ↗
3. An Artifact Detection Scheme with CUDA-based Image Operations10.1007/s10586-017-0760-4 ↗
4. Design and Implementation of OpenGL SC 2.0 Rendering Pipeline10.1007/s10586-017-1111-1 ↗
5. Keryell, R., and Howes, L. (2019). SYCL 1.2.1 Specification Revision 5, Khronos OpenCL Working Group—SYCL Subgroup.
6. Khronos OpenCL Working Group (2016). SYCL Provisional Specification, Version 2.2, Khronos Group.
7. Antao, S.F., Bataev, A., Jacob, A.C., Bercea, G.T., Eichenberger, A.E., Rokos, G., Martineau, M., Jin, T., Ozen, G., and Sura, Z. (2016, January 14). Offloading Support for OpenMP in Clang and LLVM. Proceedings of the 2016 Third Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC), Salt Lake City, UT, USA.10.1109/LLVM-HPC.2016.006 ↗
8. Early Experiences with the OpenMP Accelerator Model10.1007/978-3-642-40698-0_7 ↗
9. NVIDIA (2018). NVIDIA Turing Architecture Whitepaper, NVIDIA Corporation.
10. Wienke, S., Springer, P., Terboven, C., and an Mey, D. (2012). OpenACC—First Experiences with Real-World Applications. Proceedings of the European Conference on Parallel Processing, Springer.10.1007/978-3-642-32820-6_85 ↗
11. Chandrasekaran, S., and Juckeland, G. (2017). OpenACC for Programmers: Concepts and Strategies, Addison-Wesley Professional.
12. OpenUH: An optimizing, portable OpenMP compiler10.1002/cpe.1174 ↗
13. Lee, S., and Vetter, J.S. (2014, January 23–27). OpenARC: Open Accelerator Research Compiler for Directive-Based, Efficient Heterogeneous Computing. Proceedings of the 23rd International Symposium on High-Performance Parallel and Distributed Computing, Vancouver, BC, Canada.10.1145/2600212.2600704 ↗
14. Tabuchi, A., Nakao, M., and Satao, M. (2013). A Source-to-Source OpenACC Compiler for CUDA. Proceeding of the European Conference on Parallel Processing, Springer.
15. Kokkos: Enabling manycore performance portability through polymorphic memory access patterns10.1016/j.jpdc.2014.07.003 ↗
16. Munshi, A., Gaster, B., Mattson, T.G., and Ginsburg, D. (2011). OpenCL Programming Guide, Pearson Education.
17. Komatsu, K., Sato, K., Arai, Y., Koyama, K., Takizawa, H., and Kobayashi, H. (2010, January 22). Evaluating Performance and Portability of OpenCL Programs. Proceedings of the Fifth International Workshop on Automatic Performance Tuning, Berkeley, CA, USA.
18. Silva, H.D.C., Pisani, F., and Borin, E. (2016, January 26–28). A Comparative Study of SYCL, OpenCL, and OpenMP. Proceedings of the 2016 International Symposium on Computer Architecture and High Performance Computing Workshops (SBAC-PADW), Los Angeles, CA, USA.
19. Joó, B., Kurth, T., Clark, M.A., Kim, J., Trott, C.R., Ibanez, D., Sunderland, D., and Deslippe, J. (2019, January 22–22). Performance Portability of a Wilson Dslash Stencil Operator Mini-App Using Kokkos and SYCL. Proceedings of the2019 IEEE/ACM International Workshop on Performance, Portability and Productivity in HPC (P3HPC), Denver, CO, USA.10.1109/P3HPC49587.2019.00007 ↗
20. Hammond, J.R., Kinsner, M., and Brodman, J. (2019, January 13–15). A Comparative Analysis of Kokkos and SYCL as Heterogeneous, Parallel Programming Models for C++ Applications. Proceedings of the International Workshop on OpenCL (IWOCL’19), Boston, MA, USA.10.1145/3318170.3318193 ↗
21. Burns, R., Lawson, J., McBain, D., and Soutar, D. (2019, January 13–15). Accelerated Neural Networks on OpenCL Devices Using SYCL-DNN. Proceedings of the International Workshop on OpenCL (IWOCL’19), Boston, MA, USA.10.1145/3318170.3318183 ↗
22. Martinez, G., Gardner, M., and Feng, W. (2011, January 7–9). CU2CL: A CUDA-to-OpenCL Translator for Multi- and Many-Core Architectures. Proceedings of the 2011 IEEE 17th International Conference on Parallel and Distributed Systems, Taiwan, Taiwan.10.1109/ICPADS.2011.48 ↗
23. Characterizing the Challenges and Evaluating the Efficacy of a CUDA-to-OpenCL Translator10.1016/j.parco.2013.09.003 ↗
24. Kim, J., Dao, T.T., Jung, J., Joo, J., and Lee, J. (2015, January 15–20). Bridging OpenCL and CUDA: A Comparative Analysis and Translation. Proceedings of the SC ’15 International Conference for High Performance Computing, Networking, Storage and Analysis, Austin, TX, USA.10.1145/2807591.2807621 ↗
25. Tanaka, Y., Taura, K., Sato, H., and Yonezawa, A. (2000, January 25–27). Performance Evaluation of OpenMP Applications with Nested Parallelism. Proceedings of the International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers. LCR 2000. Lecture Notes in Computer Science, Rochester, NY, USA.10.1007/3-540-40889-4_8 ↗
26. Jakub, S. (2016, January 19–21). Boost.Compute: A Parallel Computing Library for C++ Based on OpenCL. Proceedings of the 4th International Workshop on OpenCL (IWOCL ’16), Vienna, Austria.
27. Keryell, R., and Yu, L.Y. (2018, January 14–16). Early Experiments Using SYCL Single-Source Modern C++ on Xilinx FPGA: Extended Abstract of Technical Presentation. Proceedings of the International Workshop on OpenCL (IWOCL ’18), Oxford, UK.10.1145/3204919.3204937 ↗