Тесты NAS являются самопроверяющимися, что позволяет убедиться в том, что распараллеленная программа выдает такой же результат, что и последовательная программа. Все сгенерированные DVM/OpenMP-варианты теста LU прошли проверку успешно.
Также отметим, что скорость работы DVM/OpenMP-эксперта почти не уступает скорости DVM-эксперта. Замедление в работе отражено в Таблице 3 на различных тестах.
Название теста | Замедление работы эксперта |
Якоби | 0,45% |
SOR | 0,18% |
RedBlack | 3% |
LU | 0,0683% |
Таблица 3. Замедление работы DVM/OpenMP-эксперта по сравнению с DVM-экспертом
В Таблице 4 приведены времена выполнения DVM/OpenMP-вариантов для тестовых программ. В Таблице 5 – ускорения программ. Ускорение вычисляется как отношение времени выполнения теста на одном ядре ко времени выполнения распараллеленного теста на нескольких ядрах. Программы компилировались как Fortran-OpenMP-программы, и запускались на вычислительном комплексе IBM eServer pSeries 690 (Regatta).
Количество ядер | Времена выполнения тестовых программ, сек. | |||
Якоби | SOR | RedBlack | LU | |
1 | 2,26 | 0,42 | 5,48 | 206,41 |
2 | 1,41 | 0,28 | 3,39 | 148,44 |
4 | 0,91 | 0,23 | 3,36 | 125,79 |
8 | 0,76 | 0,46 | 6,13 | 117,21 |
Таблица 4. Времена запуска тестовых программ, в секундах
Количество ядер | Ускорение тестовых программ | |||
Якоби | SOR | RedBlack | LU | |
2 | 1,60 | 1,50 | 1,62 | 1,39 |
4 | 2,48 | 1,83 | 1,63 | 1,64 |
8 | 2,97 | 0,91 | 0,89 | 1,76 |
Таблица 5. Ускорения, продемонстрированное на тестовых программах
Графики временен выполнения и ускорений распараллеленных тестовых примеров можно найти в Приложении А.
В рамках дипломной работы был реализована программа DVM/OpenMP-эксперт. Общий объем разработанного кода составил более 2000 строк на языке С++.
DVM/OpenMP-эксперт входит в состав экспериментальной системы автоматизации распараллеливания. За основу разработки был взят компонент системы, реализованный к моменту начала работы над поставленной задачей – DVM-эксперт.
Работа системы успешно прошла проверку инструментом IntelThreadChecker, а также самопроверяющимся тестом от NASA Ames Research Center. Также система была протестирована на Fotran-программах, реализующих следующие алгоритмы: классический алгоритм Якоби, алгоритм верхней релаксации (SOR), алгоритм решения системы линейных алгебраический уравнения методом Гаусса, алгоритм красно-черного упорядочения (RedBlack), а также на тесте NASLU. Распараллеленные тесты продемонстрировали ускорение при запуске на SMP-системе.
График 1.А График 1.Б
График 2.А График 2.Б
График 3.А График 4.Б
График 4.А График 4.Б