A cooperative conjugate gradient method for linear systems permitting efficient multi-thread implementation

被引:0
|
作者
Bhaya, Amit [1 ]
Bliman, Pierre-Alexandre [2 ,3 ]
Niedu, Guilherme [4 ]
Pazos, Fernando A. [5 ]
机构
[1] Univ Fed Rio de Janeiro, Dept Elect Engn, Rio De Janeiro, RJ, Brazil
[2] UPMC Univ Paris 06, Inria, Sorbonne Univ, Lab JL Lions,UMR CNRS 7598, Paris, France
[3] Fundacao Getulio Vargas, Escola Matemat Aplicada, Rio De Janeiro, RJ, Brazil
[4] Petrobras SA, Rio De Janeiro, Brazil
[5] Univ Estado Rio De Janeiro, Dept Elect & Telecommun Engn, Rio De Janeiro, RJ, Brazil
来源
COMPUTATIONAL & APPLIED MATHEMATICS | 2018年 / 37卷 / 02期
关键词
Discrete linear systems; Iterative methods; Conjugate gradient algorithm; Cooperative algorithms; HYBRID PROCEDURES; ALGORITHM;
D O I
10.1007/s40314-016-0416-7
中图分类号
O29 [应用数学];
学科分类号
070104 ;
摘要
This paper revisits, in a multi-thread context, the so-called multi-parameter or block conjugate gradient (B-CG) methods, first proposed as sequential algorithms by O'Leary and Brezinski, for the solution of the linear system Ax = b, for an n-dimensional symmetric positive definite matrix A. Instead of the scalar parameters of the classical CG algorithm, which minimizes a scalar functional at each iteration, multiple descent and conjugate directions are updated simultaneously. Implementation involves the use of multiple threads and the algorithm is referred to as cooperative CG (CCG) to emphasize that each thread now uses information that comes from the other threads. It is shown that for a sufficiently large matrix dimension n, the use of an optimal number of threads results in a worst case flop count of O (n(7/3)) in exact arithmetic. Numerical experiments on a multi-core, multi-thread computer, for synthetic and real matrices, illustrate the theoretical results.
引用
收藏
页码:1601 / 1628
页数:28
相关论文
共 50 条
  • [21] Dynamic Analysis Method for Concurrency Bugs in Multi-process/Multi-thread Environments
    Park, Jihyun
    Choi, Byoungju
    Jang, Seungyeun
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2020, 48 (06) : 1032 - 1060
  • [22] LINEAR CONVERGENCE OF CONJUGATE GRADIENT METHOD
    CROWDER, H
    WOLFE, P
    IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1972, 16 (04) : 431 - &
  • [23] Dynamic Analysis Method for Concurrency Bugs in Multi-process/Multi-thread Environments
    Jihyun Park
    Byoungju Choi
    Seungyeun Jang
    International Journal of Parallel Programming, 2020, 48 : 1032 - 1060
  • [24] A Design and Implementation of Multi-thread Quantum Key Distribution Post-processing Software
    Li, Qiong
    Le, Dan
    Rao, Ming
    PROCEEDINGS OF THE 2012 SECOND INTERNATIONAL CONFERENCE ON INSTRUMENTATION & MEASUREMENT, COMPUTER, COMMUNICATION AND CONTROL (IMCCC 2012), 2012, : 272 - 275
  • [25] Design and implementation of multi-thread processor's instruction dual-issue structure
    Zhu, Cheng-Bo
    Sun, Cai-Xia
    Wang, Yong-Wen
    Hunan Daxue Xuebao/Journal of Hunan University Natural Sciences, 2013, 40 (11 SUPPL.): : 44 - 50
  • [26] Left conjugate gradient method for non-Hermitian linear systems
    Wang, Li-Ping
    Dai, Yu-Hong
    NUMERICAL LINEAR ALGEBRA WITH APPLICATIONS, 2008, 15 (10) : 891 - 909
  • [27] Efficient vectorization of the conjugate gradient method
    1600, Publ by Computational Mechanics Publ, Southampton, Engl
  • [28] Fast and lock-free concurrent priority queues for multi-thread systems
    Sundell, H
    Tsigas, P
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2005, 65 (05) : 609 - 627
  • [29] Strategies for Efficient Execution of Pipelined Conjugate Gradient Method on GPU Systems
    Tiwari, Manasi
    Vadhiyar, Sathish
    HIGH PERFORMANCE COMPUTING, ISC HIGH PERFORMANCE 2022 INTERNATIONAL WORKSHOPS, 2022, 13387 : 77 - 89
  • [30] An efficient parallel linear solver with a cascadic conjugate gradient method: Experience with reality
    Gottschling, P
    Nagel, WE
    EURO-PAR 2000 PARALLEL PROCESSING, PROCEEDINGS, 2000, 1900 : 784 - 794