PARCEL_SYCL_v1.0

Download

Source code

download

Manual

Japanese version

html

English version

html

License

The source code is licensed under the GNU Lesser General Public License(LGPL)

Old Version

Click Here

Overview of PARCEL

In today’s computing environments, a variety of hardware types—such as CPUs, GPUs, FPGAs, and AI accelerators—are utilized. Since each of these devices requires a different programming model (such as CUDA or OpenCL), development must be done separately, which presents challenges in terms of portability and maintainability of programs. To address these issues, the open standard SYCL was introduced by the Khronos Group. Based on C++, SYCL enables single-source parallel programming across heterogeneous computing platforms, including CPUs and GPUs.
The PARallel Computing ELements (PARCEL) library provides a parallel Krylov subspace solver optimized for parallel computing systems that offer high computational performance but relatively low inter-node communication performance. Traditionally, PARCEL has been developed independently for CPUs and NVIDIA GPUs. By re-implementing it with SYCL, we can enhance both performance portability and software maintainability. The current version has been verified on Intel/AMD/Arm CPUs as well as NVIDIA GPUs. In the future, support will be extended to AMD and Intel GPUs, and even to FPGAs. Furthermore, since computational performance and characteristics vary by hardware, selecting the appropriate precision—such as half, single, double, or quadruple precision—is crucial. The SYCL version of PARCEL supports hybrid mixed-precision processing, allowing flexible combinations of different precisions depending on the computational algorithm and data types. This enables the development of a fast and numerically stable solver that maintains computational accuracy while minimizing memory access costs.

Performance

Performance Comparison of the Unpreconditioned Conjugate Gradient Method
3D Poisson Equation on a 240×240×240 Grid.

Intel Xeon Gold 6248R

FUJITSU Processor A64FX

NVIDIA A100

Fortran,CUDA
[s]

3.50

1.39

0.32

SYCL
[s]

4.70

1.77

0.32

Reference

[1] R. Barret, M. Berry, T. F. Chan, et al., "Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods", SIAM(1994)
[2] Y. Saad, "Iterative methods for sparse linear systems", SIAM (2003)
[3] M. Hoemmen, "Communication-avoiding Krylov subspace methods". Ph.D.thesis, University of California, Berkeley(2010)
[4] Y. Idomura, T. Ina, A. Mayumi, et al., "Application of a communication-avoiding generalized minimal residual method to a gyrokinetic five dimensional eulerian code on many core platforms",ScalA 17:8th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems, pp.1-8, (2017).
[5] R. Suda, L. Cong, D. Watanabe, et al., "Communication-Avoiding CG Method: New Direction of Krylov Subspace Methods towards Exa-scale Computing", RIMS Kokyuroku ,pp. 102-111, (2016).
[6] Y. Idomura, T. Ina, S. Yamashita, et al., "Communication avoiding multigrid preconditioned conjugate gradient method for extreme scale multiphase CFD simulations". ScalA 18:9th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems,pp. 17-24.(2018)
[7] T. Ina, Y. Idomura , T. Imamura, S.Yamashita, and N. Onodera, "Iterative methods with mixed-precision preconditioning for ill-conditioned linear systems in multiphase CFD simulations", ScalA21:12th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems .(2021)
[8] A. Stathopoulos, K. Wu, "A block orthogonalization procedure with constant synchronization requirements". SIAM J. Sci. Comput. 23, 2165?2182 (2002)
[9] T. Fukaya, Y. Nakatsukasa, Y. Yanagisawa, et al., "CholeskyQR2: A Simple and Communication-Avoiding Algorithm for Computing a Tall-Skinny QR Factorization on a Large-Scale Parallel System," ScalA 14:5th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems, pp. 31-38,(2014)

Developer

HPC/DX Research and Development Office, Center for Computational Science & e-Systems, Japan Atomic Energy Agency

Contact

ccse-quad(at)ml.jaea.go.jp
※ Substitute @ for (at).

 

About CCSE



Recruitment

Access/Inquiries

Supercomputers

Research Overview

Results

Public Software

Meetings

copyright © 2020 CCSE. All Rights Reserved.

-->