№ 18 (277), выпуск 12Страницы 82 - 92

Расширение DVM-модели параллельного программирования для кластеров с гетерогенными узлами

В.А. Бахтин, М.С. Клинов, В.А. Крюков, Н.В. Поддерюгина, М.Н. Притула, Ю.Л. Сазанов
В статье рассматриваются принципы расширения DVM-модели и построения языка Fortran DVMH для кластеров с гетерогенными узлами. Новые возможности языка позволяют: определить фрагменты программы, которые следует выполнять на том или ином ускорителе; определить данные, необходимые для выполнения заданного фрагмента программы; задать правила отображения витков цикла на ускоритель; управлять перемещением данных между оперативной памятью универсального процессора и памятью ускорителей. Описываются принципы построения компилятора с языка Fortran DVMH и новые функции системы поддержки параллельного выполнения программ Lib-DVMH. Приводятся экспериментальные данные об эффективности выполнения тестовых программ на графических процессорах кластера К-100. Появление компилятора с языка Fortran DVMH не только упростит разработку программ для кластеров с гетерогенными узлами, но и ускорит создание для таких кластеров автоматически распараллеливающего компилятора с языка Fortran, использующего язык Fortran DVMH в качестве выходного языка, на котором программист сможет проводить дополнительную ручную оптимизацию программы.
Полный текст
Ключевые слова
языки параллельного программирования, гибридные многопроцессорные вычислительные системы, графические ускорители.
Литература
1. The 48-core SCC processor: the programmer's View / T.G. Mattson, R.F. Van der Wijngaart, M. Riepen, T. Lehnig, P. Brett, W. Haas, P. Kennedy, J. Howard, S. Vangal, N. Borkar, G. Ruhl, S. Dighe // SC'10 Proceedings of the 2010 ACM/IEEE International Conference for HPC, Networking, Storage and Analysis. - Washington, DC, 2010. - P. 1 - 11.
2. High Performance Fortran Forum. High Performance Fortran Language Specification, version 2.0. - 1997. - URL: http://hpff.rice.edu/versions/hpf2/index.htm (дата обращения: 30.10.2011).
3. Fortran DVM - a Language for Portable Parallel Program Development / N.A. Konovalov, V.A. Krukov, S.N. Mihailov, A.A. Pogrebtsov // Proceedings of Software For Multiprocessors & Supercomputers: Theory, Practice, Experience. - Moscow, 1994.
4. Bodin, F. Heterogeneous multicore parallel programming for graphics processing units / F. Bodin, S. Bihan // Scientific Programming - Software Development for Multi-core Computing Systems. - 2009. - V. 17, № 4. - P. 325 - 336.
5. Abdelrahman, T.S. hiCUDA: a high-level directive-based language for GPU programming / T.S. Abdelrahman, T.D. Han // GPGPU-2 Proceedings of 2nd Workshop on General Purpose Processing on Graphics Processing Units. - NY., 2009. - P. 52 - 61.
6. Wolfe, M. Design and implementation of a high level programming model for GPUs / M. Wolfe // GPGPU'10 Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units. - N.Y., 2010. - P. 43 - 50.
7. A proposal to extend the openmp tasking model for heterogeneous architectures / E. Ayguade, R.M. Badia, D. Cabrera, A. Duran, M. Gonzalez, F. Igual, D. Jimenez, J. Labarta, X. Martorell, R. Mayo, J.M. Perez, E.S. Quintana-Orti // IWOMP'09 Proceedings of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism. - B.: Springer-Verlag, 2009. - P. 154 - 167.
8. Accelerator directives: a user's perspective / A. Gray, A. Hart, H. Richardson, K. Sivalingham. - 2010. - URL: http://www.cse.scitech.ac.uk/events/GPU_2010/12_Hart.paper.pdf (дата обращения: 11.03.2012).
9. Бахтин, В.А. Расширение языка OpenMP Fortran для распределенных систем / В.А. Бахтин, Н.А. Коновалов, В.А. Крюков // Вопросы атомной науки и техники. Cер. 'Математическое моделирование физических процессов'. - 2002. - Вып. 4. - C. 65 - 70.