Solving Maxwell's Equations with Modern C plus plus and SYCL: A Case Study

被引:0
|
作者
Afzal, Ayesha [1 ]
Schmitt, Christian [1 ]
Alhaddad, Samer [2 ]
Grynko, Yevgen [2 ]
Teich, Juergen [1 ]
Foerstner, Jens [2 ]
Hannig, Frank [1 ]
机构
[1] Friedrich Alexander Univ Erlangen Nurnberg, Hardware Software Codesign, Erlangen, Germany
[2] Paderborn Univ, Dept Theoret Elect Engn, Paderborn, Germany
关键词
PARALLEL;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In scientific computing, unstructured meshes are a crucial foundation for the simulation of real-world physical phenomena. Compared to regular grids, they allow resembling the computational domain with a much higher accuracy, which in turn leads to more efficient computations. There exists a wealth of supporting libraries and frameworks that aid programmers with the implementation of applications working on such grids, each built on top of existing parallelization technologies. However, many approaches require the programmer to introduce a different programming paradigm into their application or provide different variants of the code. SYCL is a new programming standard providing a remedy to this dilemma by building on standard C++17 with its so-called single-source approach: Programmers write standard C++ code and expose parallelism using C++17 keywords. The application is then transformed into a concrete implementation by the SYCL implementation. By encapsulating the OpenCL ecosystem, different SYCL implementations enable not only the programming of CPUs but also of heterogeneous platforms such as GPUs or other devices. For the first time, this paper showcases a SYCL-based solver for the nodal Discontinuous Galerkin method for Maxwell's equations on unstructured meshes. We compare our solution to a previous C-based implementation with respect to programmability and performance on heterogeneous platforms.
引用
收藏
页码:49 / 56
页数:8
相关论文
共 50 条
  • [1] Building a brain with SYCL and modern C plus
    Smithe, Toby St Clere
    Potter, Ralph
    [J]. IWOCL'18: PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL, 2018, : 38 - 38
  • [2] ReSYCLator: Transforming CUDA C plus plus source code into SYCL
    Stauber, Tobias
    Sommerlad, Peter
    [J]. PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL (IWOCL'19), 2019,
  • [3] SYCL: Single-source C plus plus accelerator programming
    Reyes, Ruyman
    Lomueller, Victor
    [J]. PARALLEL COMPUTING: ON THE ROAD TO EXASCALE, 2016, 27 : 673 - 682
  • [4] PROGRAMMING CUDA AND OPENCL: A CASE STUDY USING MODERN C plus plus LIBRARIES
    Demidov, Denis
    Ahnert, Karsten
    Rupp, Karl
    Gottschling, Peter
    [J]. SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2013, 35 (05): : C453 - C472
  • [5] Odeint - Solving Ordinary Differential Equations in C plus
    Ahnert, Karsten
    Mulansky, Mario
    [J]. NUMERICAL ANALYSIS AND APPLIED MATHEMATICS ICNAAM 2011: INTERNATIONAL CONFERENCE ON NUMERICAL ANALYSIS AND APPLIED MATHEMATICS, VOLS A-C, 2011, 1389
  • [6] Early experiments using SYCL single-source modern C plus plus on Xilinx FPGA Extended Abstract of Technical Presentation
    Keryell, Ronan
    Yu, Lin-Ya
    [J]. IWOCL'18: PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL, 2018, : 60 - 67
  • [7] A comparative analysis of Kokkos and SYCL as heterogeneous, parallel programming models for C plus plus applications
    Hammond, Jeff R.
    Kinsner, Michael
    Brodman, James
    [J]. PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL (IWOCL'19), 2019,
  • [8] Numerical algorithms for solving matrix equations AX plus BX T = C and AX plus BX* = C
    Vorontsov, Yu. O.
    Ikramov, Khakim D.
    [J]. COMPUTATIONAL MATHEMATICS AND MATHEMATICAL PHYSICS, 2013, 53 (06) : 667 - 676
  • [9] Update on the SYCL for OpenCL Open Standard to Enable C plus plus Meta Programming on Top of OpenCL
    Richards, Andrew
    [J]. International Workshop on OpenCL 2015, 2015,
  • [10] Quantum plus plus : A modern C plus plus quantum computing library
    Gheorghiu, Vlad
    [J]. PLOS ONE, 2018, 13 (12):