Перекрытие коммуникаций и вычислений в итерационных методах решения систем линейных уравнений на GPU

Автор: Платонов В.А., Монаков А.В.

Журнал: Труды Института системного программирования РАН @trudy-isp-ran

Статья в выпуске: 1 т.28, 2016 года.

Бесплатный доступ

Методы подпространства Крылова, такие как метод сопряжённых градиентов и стабилизированный метод бисопряжённых градиентов, давно используются для решения симметричных и несимметричных систем линейных алгебраических уравнений. Это находит широкое применение при численном решении дифференциальных уравнений, которые возникают, например, в задачах вычислительной физики. Однако при увеличении размеров расчетной сетки и, соответственно, количества вычислительных процессов значительную часть времени работы могут занимать коммуникации, во время которых расчёты простаивают. Это происходит из-за того, что в оригинальных формулировках методов результат скалярного произведения, которое требует редукции, требуется уже на следующем шаге метода, что приводит к барьерной синхронизации всех потоков. При значительном количестве итераций это может привести к деградации производительности. В статье рассматривается использование альтернативных формулировок методов подпространства Крылова, позволяющих перекрыть часть вычислений и параллельных коммуникаций, часто за счет увеличения объема вычислений. Нами предложены собственные реализации этих подходов для использования гибридного решателя с графическими ускорителями, использующими технологию CUDA, в рамках программного пакета OpenFOAM, а также описаны особенности их переноса на акселераторы. Для дальнейшей оптимизации используются асинхронные коллективные операции, предоставленные стандартом межпроцессного взаимодействия MPI-3, которые позволяют избавиться от барьерной синхронизации и снизить латентность операций обмена. Представлены результаты тестирования нашего подхода на одной из станадартных задач пакета OpenFOAM с расчётными сетками в 2 и 4 миллиона ячеек c использованием нескольких графических ускорителей.

Еще

Метод сопряженных градиентов, стабилизированный метод бисопряжённых градиентов, ainv-предобуславливание

Короткий адрес: https://sciup.org/14916331

IDR: 14916331   |   DOI: 10.15514/ISPRAS-2016-28(1)-5

Overlapping communications and computations in GPU-based iterative linear solvers

Krylov subspace methods such as Conjugate Gradient and Biconjugate Gradient Stabilized methods are well known approaches for solving symmetric and asymmetric systems of linear algebraic equations, such as systems usually arising from partial differential equations in computational mathematics problems, like Navier-Stokes equations in fluid dynamics. With increasing sizes of meshes and numbers of computational nodes, network communications time may become an issue: stalls during global reductions have increasing duration, preventing useful computations. This happens because, in original formulations of methods, computing a dot product requires a global reduce operation, and its value is required on the next step, so each process has to stop until all others reach this point, like in a barrier synchronization. We research alternative formulations of conjugate gradient methods (Preconditioned Conjugate Gradient and BiCGStab) for GPU-based iterative linear system solvers. They allow to have an overlap of parallel computations and communications, at the cost of increased amount of computations and memory requirements. We describe an implementation of our approach for GPU-accelerated hybrid systems in OpenFOAM, an open source framework for computational fluid dynamics. Asynchronous collective communications from MPI-3 parallel programming API are used to avoid full barrier synchronization and reduce latency. Experimental results on 2 and 4 million cases from standard OpenFOAM problems are presented.

Еще

Список литературы Перекрытие коммуникаций и вычислений в итерационных методах решения систем линейных уравнений на GPU

  • OpenFOAM -http://openfoam.org/
  • Y. Saad. Iterative Methods for Sparse Linear Systems. SIAM. 2003.
  • A. Monakov, E. Velesevich, V. Platonov, A. Avetisyan. Instrumenty analiza i razrabotki jeffektivnogo koda dlja parallel'nyh arhitektur (Analysis and development tools for efficient programs on parallel architectures). Trudy ISP RAN , volume 26 (issue 1), 2014, pp. 357-374 DOI: 10.15514/ISPRAS-2014-26(1)-14
  • A. Monakov, V. Platonov. Optimizacija metoda reshenija linejnyh sistem uravnenij v OpenFOAM dlja platformy MPI + CUDA (Optimizations for linear solvers in OpenFOAM for MPI + CUDA platform). Trudy ISP RAN , volume 26 (issue 3), 2014, pp. 91-102 DOI: 10.15514/ISPRAS-2014-26(3)-4
  • P. Ghysels, W. Vanroose. Hiding Global Synchronization Latency in the Preconditioned Conjugate Gradient Algorithm. Submitted to Parallel Computing, 2012.
  • Thierry Jacques, Laurent Nicolas, Christian Vollaire, 7th International Conference, HPCN Europe 1999 Amsterdam, The Netherlands, April 12-14, 1999 Proceedings, pp 1025-1031
  • L. Yang, R. Brent, The improved BiCGStab method for large and sparse unsymmetric linear systems on parallel distributed memory architectures, in: Fifth International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP’02). Proceedings., IEEE ComputerSociety, Los Alamitos, CA, USA, 2002, pp. 324-328 DOI: 10.1109/ICAPP.2002.1173595
  • Boris Krasnopolsky, The reordered BiCGStab method for distributed memory computer systems, Procedia Computer Science, Volume 1, Issue 1, May 2010, Pages 213-218, ISSN 1877-0509, DOI: 10.1016/j.procs.2010.04.024
Еще