PARCEL 1.01（May 20, 2020）
PARCEL 1.01 is available.
The following points have been corrected in this update.
 1. Error handling is added for zero diagonal elements in the DILU preconditioner.
 2. Memory allocation in the DILU preconditioner is changed to from static allocation to dynamic allocation.
 3. The additive Schwarz preconditioner with zero overlap width is unified with the block Jacobi preconditioner.
 4. A configuration file for the PGI compiler is added.
 5. Sample programs are modified.
 ・A sorting method in the data conversion routine from CRS to DIA is improved.
 ・Template files for main algorithms are stored in each example.
 ・The names of input parameters in each example are changed to common names.
 ・The r.h.s. vector vecB in each example is changed to the same data.
 ・ExampleC, 2_C are modified for DIA in addition to CSR.
 ・All nonsymmetric solvers become available in example2.
Download
Source code 

License
The source code is licensed under the GNU Lesser General Public License（LGPL）
Old Version
Purpose and Overview of the Program Development
Matrix solvers for simultaneous linear equation systems are classified into direct and iterative solvers. In most of extreme scale problems, iterative solvers based on Krylov subspace methods are essential from the viewpoints of the computational cost and the memory usage.
The PARallel Computing ELements (PARCEL) library provides highly efficient parallel Krylov subspace solvers for modern massively parallel supercomputers, which are characterized by accelerated computation and less performance improvement in internode communication.
The PARCEL is based on a hybrid parallel programming model with MPI+OpenMP, and supports the latest communication avoiding (CA) Krylov methods (the Chebyshev basis CACG method and the CAGMRES method) in addition to the conventional Krylov subspace methods (the CG method, the BiCGstab method, and the GMRES method).
In the CAKrylov methods, the number of collective communication is reduced to avoid a communication bottleneck.
The PARCEL supports two matrix formats (Compressed Row Storage (CRS) format and Diagonal (DIA) format), two data types (Double precision and Quad precision), and can be called from programs written in C and Fortran.
Main Features
≪Performance comparison of CG solvers with BlockJacobi preconditioner using 2,304 cores on the JAEAICEX (Intel Xeon E52680 v3, 4xFDR Infiniband)≫
Three dimensional Poisson equation with the problem size of 1152 x 1152 x 1152.
PETSc（allMPI） 
PARCEL（MPI+OpenMP） 


Elapse time［s］ 
79.26 
66.97 
Memory usage［GB］ 
1177 
543 
Reference
［1］Barret, R. et al.: Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM（1994）
［2］Mayumi, A., Idomura, Y., Ina, T., Yamada, S., Imamura, T.,: Leftpreconditioned communicationavoiding conjugate gradient methods for multiphase CFD simulations on the K computer, In: Proceedings of the 7th Workshop on Latest Advances in Scalable Algorithms for LargeScale Systems, ScalA 2016, Piscataway, NJ, USA, pp.?17?24. IEEE Press（2016）
［3］Idomura, Y., Ina, T., Mayumi, A., Yamada, S., Matsumoto, K., Asahi, Y., Imamura, T.: Application of a communicationavoiding generalized minimal residual method to a gyrokinetic five dimensional Eulerian code on many core platforms, In:Proceedings of the 8th Workshop on Latest Advances in Scalable Algorithms for LargeScale Systems, ScalA 2017, New York, NY, USA, pp.?7:1?7:8. ACM（2017）
［4］Idomura, Y., Ina, T., Mayumi, A., Yamada, S., Imamura, T.: Application of a preconditioned Chebyshev basis communicationavoiding conjugate gradient method to a multiphase thermalhydraulic CFD code, Lecture Notes in Computer Science, vol.?10776, 257?273（2018）
［5］Hoemmen, M.: Communicationavoiding Krylov subspace methods. Ph.D.thesis, University of California, Berkeley（2010）
［6］Suda, R., Cong, L., Watanabe, D., Kumagai, Y., Fujii, A., Tanaka, T.: Communicationavoiding CG method: new direction of Krylov subspace methods towards exascale computing. RIMS Kokyuroku 1995, 102?111（2016）
Developer
Computer Science Research and Development Office, Center for Computational Science & eSystems, Japan Atomic Energy Agency
Contact
ccsequad(at)ml.jaea.go.jp
※ Substitute @ for (at).