A tool for automatic parallelization of affine programs for systems with shared and distributed memory
Effective programming of parallel architectures has always been a challenge, and it is especially complicated with their modern diversity. The task of automatic parallelization of program code was formulated from the moment of the appearance of the first parallel computers made in Russia (for exampl...
Main Authors: | , |
---|---|
Format: | Article |
Language: | Russian |
Published: |
MIREA - Russian Technological University
2019-10-01
|
Series: | Российский технологический журнал |
Subjects: | |
Online Access: | https://www.rtj-mirea.ru/jour/article/view/168 |
id |
doaj-b661d2d4c5504dfaa87ab76df4524759 |
---|---|
record_format |
Article |
spelling |
doaj-b661d2d4c5504dfaa87ab76df45247592021-07-28T13:30:10ZrusMIREA - Russian Technological UniversityРоссийский технологический журнал2500-316X2019-10-017571910.32362/2500-316X-2019-7-5-7-19167A tool for automatic parallelization of affine programs for systems with shared and distributed memorySh. G. Magomedov0A. S. Lebedev1MIREA – Russian Technological UniversityMIREA – Russian Technological UniversityEffective programming of parallel architectures has always been a challenge, and it is especially complicated with their modern diversity. The task of automatic parallelization of program code was formulated from the moment of the appearance of the first parallel computers made in Russia (for example, PS2000). To date, programming languages and technologies have been developed that simplify the work of a programmer (T-System, MC#, Erlang, Go, OpenCL), but do not make parallelization automatic. The current situation requires the development of effective programming tools for parallel computing systems. Such tools should support the development of parallel programs for systems with shared and distributed memory. The paper deals with the problem of automatic parallelization of affine programs for such systems. Methods for calculating space-time mappings that optimize the locality of the program are discussed. The implementation of developed methods is done in Haskell within the source-to-source translator performing automatic parallelization. A comparison of the performance of parallel variants of lu, atax, syr2k programs obtained using the developed tool and the modern Pluto tool is made. The experiments were performed on two x86_64 machines connected by the InfiniBand network. OpenMP and MPI were used as parallelization technologies. The performance of the resulting parallel program indicates the practical applicability of the developed tool for affine programs parallelization.https://www.rtj-mirea.ru/jour/article/view/168automatic parallelizationaffine programspolyhedral modellocality optimizationinteger linear programming |
collection |
DOAJ |
language |
Russian |
format |
Article |
sources |
DOAJ |
author |
Sh. G. Magomedov A. S. Lebedev |
spellingShingle |
Sh. G. Magomedov A. S. Lebedev A tool for automatic parallelization of affine programs for systems with shared and distributed memory Российский технологический журнал automatic parallelization affine programs polyhedral model locality optimization integer linear programming |
author_facet |
Sh. G. Magomedov A. S. Lebedev |
author_sort |
Sh. G. Magomedov |
title |
A tool for automatic parallelization of affine programs for systems with shared and distributed memory |
title_short |
A tool for automatic parallelization of affine programs for systems with shared and distributed memory |
title_full |
A tool for automatic parallelization of affine programs for systems with shared and distributed memory |
title_fullStr |
A tool for automatic parallelization of affine programs for systems with shared and distributed memory |
title_full_unstemmed |
A tool for automatic parallelization of affine programs for systems with shared and distributed memory |
title_sort |
tool for automatic parallelization of affine programs for systems with shared and distributed memory |
publisher |
MIREA - Russian Technological University |
series |
Российский технологический журнал |
issn |
2500-316X |
publishDate |
2019-10-01 |
description |
Effective programming of parallel architectures has always been a challenge, and it is especially complicated with their modern diversity. The task of automatic parallelization of program code was formulated from the moment of the appearance of the first parallel computers made in Russia (for example, PS2000). To date, programming languages and technologies have been developed that simplify the work of a programmer (T-System, MC#, Erlang, Go, OpenCL), but do not make parallelization automatic. The current situation requires the development of effective programming tools for parallel computing systems. Such tools should support the development of parallel programs for systems with shared and distributed memory. The paper deals with the problem of automatic parallelization of affine programs for such systems. Methods for calculating space-time mappings that optimize the locality of the program are discussed. The implementation of developed methods is done in Haskell within the source-to-source translator performing automatic parallelization. A comparison of the performance of parallel variants of lu, atax, syr2k programs obtained using the developed tool and the modern Pluto tool is made. The experiments were performed on two x86_64 machines connected by the InfiniBand network. OpenMP and MPI were used as parallelization technologies. The performance of the resulting parallel program indicates the practical applicability of the developed tool for affine programs parallelization. |
topic |
automatic parallelization affine programs polyhedral model locality optimization integer linear programming |
url |
https://www.rtj-mirea.ru/jour/article/view/168 |
work_keys_str_mv |
AT shgmagomedov atoolforautomaticparallelizationofaffineprogramsforsystemswithsharedanddistributedmemory AT aslebedev atoolforautomaticparallelizationofaffineprogramsforsystemswithsharedanddistributedmemory AT shgmagomedov toolforautomaticparallelizationofaffineprogramsforsystemswithsharedanddistributedmemory AT aslebedev toolforautomaticparallelizationofaffineprogramsforsystemswithsharedanddistributedmemory |
_version_ |
1721273400730583040 |