№ 25 (242), выпуск 9Страницы 76 - 86

Расширение двухуровневого распараллеливания MPI+OPENMP посредством OPENCL для газодинамических расчетов на гетерогенных системах

А.В. Горобец, С.А. Суков, А.О. Железняков, П.Б. Богданов, Б.Н. Четверушкин
В работе рассматривается применение расширенного распараллеливания для расчетов задач газовой динамики и аэроакустики на гетерогенных кластерах с узлами, сочетающими вычислительные элементы принципиально разной архитектуры, CPU и GPGPU. Двухуровневая модель распараллеливания MPI+OpenMP дополняется применением OpenCL для загрузки GPGPU, таким образом, реализуется третий уровень параллелизма. Представлена параллельная модель алгоритма для неструктурированных сеток.
Полный текст
Ключевые слова
газовая динамика, аэроакустика, параллельные вычисления, MPI, OpenMP, GPU, OpenCL.
Литература
1. Some useful strategies for unstructured edge-based solvers on shared memory machines / R. Aubry, G. Houzeaux, M. Vazquez, J.M. Cela // International J. for Numerical Methods in Engineering. - 2010. - V. 85. - P. 537 - 561.
2. Scalability of hybrid programming for a CFD code on the Earth Simulator / K. Itakura, A. Uno, M. Yokokawa, T. Ishihara, Y. Kaneda // Parallel Computing. - 2004. - V. 30, № 12. - P. 1329 - 1343.
3. Nakajima, K. Three-level hybrid vs. flat MPI on the Earth Simulator: Parallel iterative solvers for finite-element method / K. Nakajima // Applied Numerical Mathematics. - 2005. - V. 54, № 2. - P. 237 - 255.
4. Heuveline, V. Towards a hybrid parallelization of lattice Boltzmann methods / V. Heuveline, M.J. Krause, J. Latt // Computers and Mathematics with Applications. - 2009. - V. 58, № 5. - P. 1071 - 1080.
5. Chorley, M.J. Performance analysis of a hybrid MPI/OpenMP application on multi-core clusters / M.J. Chorley, D.W. Walker // J. of Computational Science. - 2010. - V. 1, № 3. - P. 168 - 174.
6. Monakov, A. Automatically Tuning Sparse Matrix-Vector Multiplication for GPU Architectures / A. Monakov, A. Lokhmotov, A. Avetisyan // High Performance Embedded Architectures and Compilers. Series: Lecture Notes in Computer Science. - 2010. - V. 5952. - P. 111 - 125.
7. Buatois, L. Concurrent number cruncher: a GPU implementation of a general sparse linear solver / L. Buatois, G. Caumon, B. Levy // Int. J. Parallel Emerg. Distrib. Syst. - 2009. - V. 24, № 3. - P. 205 - 223.
8. Abalakin, I. Computational Study of Mathematical Models for Noise DNS / I. Abalakin, A. Dervieux, T. Kozubskaya // AIAA. - 2002. - P. 2585.
9. Accuracy Improvement for Finite-Volume Vertex-Centered Schemes Solving Aeroacoustics Problems on Unstructured Meshes / I. Abalakin et all // AIAA. - 2010. - P. 3933.
10. Khronos OpenCL Working Group, The OpenCL Specification, Version: 1.1, 2010. http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf (дата обращения: 11.06.2011)
11. Advanced Micro Devices, Inc, AMD Accelerated Parallel Processing OpenCL Programming Guide, 2011. http://developer.amd.com/sdks/AMDAPPSDK/assets/ AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf (дата обращения: 11.06.2011)
12. NVIDIA, OpenCL Programming Guide for the CUDA Architecture Version 2.3. http://developer.download.nvidia.com/compute/cuda/3_0/toolkit/docs/ NVIDIA_OpenCL_ProgrammingGuide.pdf (дата обращения: 11.06.2011)
13. INRIA RUNTIME team, A Unified Runtime System for Heterogeneous Multicore Architectures, 2010. http://runtime.bordeaux.inria.fr/StarPU/ (дата обращения: 11.06.2011)
14. Faster, Cheaper, Better - a Hybridization Methodology to Develop Linear Algebra Software for GPUs / E. Agullo et all // GPU Computing Gems Morgan Kaufmann. - 2010. - V. 2. INRIA-00547847:1.