Автоматизация разработки параллельных программ для современных высокопроизводительных ЭВМВ.А. КрюковФакультет ВМК МГУ,Инсти
Содержание
- 2. План изложения Модели и языки программирования с явным параллелизмом (абстрактная и целевая машина, уровень, компилятор/библиотека, новый
- 3. Модели и языки программирования с явным параллелизмом абстрактная параллельная машина и целевая ЭВМ: многоядерный кластер с
- 4. Модели и языки с явным параллелизмом
- 5. Алгоритм Якоби на языке Fortran PROGRAM JACOB_SEQ PARAMETER (L=8, ITMAX=20) REAL A(L,L), B(L,L) PRINT *, '**********
- 6. Distribution of array A [8][8]
- 7. PROGRAM JACOB_MPI include 'mpif.h' integer me, nprocs PARAMETER (L=4096, ITMAX=100, LC=2, LR=2) REAL A(0:L/LR+1,0:L/LC+1), B(L/LR,L/LC) C
- 8. C rows of matrix I have to process srow = (coords(1) * L) / dim(1) lrow
- 9. call MPI_Irecv(A(1,0),nrow,MPI_DOUBLE_PRECISION, * pleft, 1235, MPI_COMM_WORLD, req(1), ierr) call MPI_Isend(A(1,ncol),nrow,MPI_DOUBLE_PRECISION, * pright, 1235, MPI_COMM_WORLD,req(2), ierr) call
- 10. PROGRAM JACOB_OpenMP PARAMETER (L=4096, ITMAX=100) REAL A(L,L), B(L,L) PRINT *, '********** TEST_JACOBI **********' !$OMP PARALLEL DO
- 11. module jac_cuda contains attributes(global) subroutine arr_copy(a, b, k) real, device, dimension(k, k) :: a, b integer,
- 12. program JACOB_CUDA use cudafor use jac_cuda parameter (k=4096, itmax = 100, block_dim = 16) real, device,
- 13. PROGRAM JACOB_PGI_APM PARAMETER (L=4096, ITMAX=100) REAL A(L,L), B(L,L) PRINT *, '********** TEST_JACOBI **********‘ !$acc data region
- 14. Автоматическое распараллеливание Для распределенных систем проблематично в силу следующих причин: вычислительная работа должна распределяться между процессорами
- 15. Модель параллелизма по данным отсутствует понятие процесса и, как следствие, явная передача сообщений или явная синхронизация
- 16. HPF (High Performance Fortran) HPF (1993 год) - расширение языка Фортран 90 HPF-2 (1997 год) -
- 17. PROGRAM JAC_HPF PARAMETER (L=8, ITMAX=20) REAL A(L,L), B(L,L) !HPF$ PROCESSORS P(3,3) !HPF$ DISTRIBUTE ( BLOCK, BLOCK)
- 18. PROGRAM JACOB_DVM PARAMETER (L=4096, ITMAX=100) REAL A(L,L), B(L,L) CDVM$ DISTRIBUTE ( BLOCK, BLOCK) :: A CDVM$
- 19. Новые языки параллельного программирования (PGAS) PGAS – Partitioned Global Address Space (не DSM !) CAF (Co-Array
- 20. Coarray Fortran PROGRAM Jac_CoArray PARAMETER (L=8, ITMAX=20, LR=2, LC=2) PARAMETER (NROW=L/LR, NCOL=L/LC) INTEGER ME, I, J,
- 21. DO IT = 1, ITMAX CALL SYNC_ALL ( ) DO J = 1, NCOL DO I
- 22. Развитие языков (PGAS=>APGAS) Добавление асинхронности в CAF и UPC CAF 2.0: подгруппы процессов, топологии, новые средства
- 23. SEQ – последовательная программа, MPI –параллельная MPI-программа DVM – параллельная DVM-программа, CAF – параллельная CoArray Fortran
- 24. Создаваемые языки параллельного программирования (HPCS) DARPA – High Productivity Computing Systems 2002-2010 (эффективность, программируемость, переносимость ПО,
- 25. Цели разработки Chapel (Cray) Снизить трудоемкость программирования - написание программы, ее изменение, тюнинг, портирование, сопровождение Эффективность
- 26. Основные черты языка Chapel Полнота поддержки параллелизма - параллелизм по данным, параллелизм задач, вложенный параллелизм -
- 27. Основные отличия X10 (IBM) Является расширением языка Java Отличие доступа к локальным и удаленным данным (как
- 28. PROGRAM JACOB_DVM_OpenMP PARAMETER (L=4096, ITMAX=100) REAL A(L,L), B(L,L) CDVM$ DISTRIBUTE ( BLOCK, BLOCK) :: A CDVM$
- 29. PROGRAM JACOB_DVMH PARAMETER (L=4096, ITMAX=100) REAL A(L,L), B(L,L) CDVM$ DISTRIBUTE ( BLOCK, BLOCK) :: A CDVM$
- 30. Времена выполнения программы JACRED_DVMH (сек) на кластере K-100
- 31. План изложения Модели и языки программирования с явным параллелизмом (абстрактная и целевая машина, уровень, компилятор/библиотека, новый
- 32. Автоматизация параллельного программирования Два новых (2005 г.) направления автоматизации в системе DVM: дисциплина написания на языках
- 33. Автоматизация разработки параллельных программ для кластеров Программа на последовательном языке S Задание на отладку Распараллеливающий компилятор
- 34. Формирование вариантов распределения данных (ВРД) Анализ последовательной программы Для каждого ВРД формирование схем распараллеливания - добавление
- 35. Анализ последовательной программы Статический анализ – указатели, косвенная индексация, параметры…. Динамический анализ – ресурсы времени и
- 36. Алгоритм Якоби на языке Fortran PROGRAM JACOB_SEQ PARAMETER (L=8, ITMAX=20) REAL A(L,L), B(L,L) PRINT *, '**********
- 37. Поиск наилучшей схемы распараллеливания Логическая сложность алгоритмов построения и оценки схем распараллеливания (мало зависит от выходного
- 38. Блоки компилятора АРК-DVM Анализатор 1 Описание ЭВМ Фортран программа База данных Эксперт 1 Фортран-DVM программа Анализатор
- 39. Работа компилятора проверена на: тестах NAS LU, BT, SP (3D Навье-Стокс) - класс С и А
- 40. Характеристики программ
- 41. Времена выполнения (сек) на МВС-100К DVM-программ класса С
- 42. План изложения Модели и языки программирования с явным параллелизмом (абстрактная и целевая машина, уровень, компилятор/библиотека, новый
- 43. Автоматизированное распараллеливание последовательных программ Диалог с пользователем для: Исследования результатов анализа и задания характеристик программы, недоступных
- 45. САПФОР: анализ программы и прогноз эффективности ее параллельного выполнения Скорректированная исходная программа FDVMH-компилятор FDVMH-программа Программа на
- 46. Принципиальные решения DVM-подход: Программист принимает основные решения по распараллеливанию, а компилятор и система поддержки обеспечивают их
- 47. План изложения Модели и языки программирования с явным параллелизмом Языки программирования с неявным параллелизмом + автоматическое
- 48. Автоматизация функциональной отладки параллельных программ Автоматизированное сравнение поведения и промежуточных результатов разных версий последовательной программы Динамический
- 49. Функциональная отладка DVM-программ Используется следующая методика поэтапной отладки программ: На первом этапе программа отлаживается на рабочей
- 50. Типы ошибок Синтаксические ошибки в DVM-указаниях и нарушение статической семантики Неправильная последовательность выполнения DVM-указаний или неправильные
- 51. Динамический контроль Чтение неинициализированных переменных Выход за пределы массива Необъявленная зависимость по данным в параллельной конструкции
- 52. Сравнение результатов Где и что сравнивать Две трассы, одна трасса, без трасс – на лету Получение
- 53. Автоматизация отладки эффективности параллельных программ Прогноз характеристик эффективности каждого варианта распараллеливания для разных конфигураций интересующих пользователя
- 54. Эффективность выполнения параллельной программы Эффективность выполнения параллельной программы выражается в ускорении вычислений, что может привести: к
- 55. Критерии эффективности выполнения параллельных программ Ускорение Sn = T1 / Tn, где Tn — время исполнения
- 56. Критерии эффективности выполнения параллельных программ Если ускорение линейно от n, то говорят, что такая программа обладает
- 57. Факторы, определяющие эффективность выполнения параллельных программ степень распараллеливания программы - доля параллельных вычислений в общем объеме
- 58. Характеристики эффективности параллельных программ Пользователь может получить следующие характеристики эффективности программы и отдельных ее частей: execution
- 59. Характеристики эффективности параллельных программ Компоненты lost time: insufficient parallelism - потери из-за выполнения последовательных частей программы
- 60. Характеристики эффективности параллельных программ Кроме того, выдаются характеристики: load imbalance - возможные потери из-за разной загрузки
- 61. Подходы к вычислению и выдаче характеристик Как собирать трассировка (для каждого процессора, каждой нити) статистика количество
- 62. Проблема – нестабильность характеристик Нестабильность коммуникаций Изменение состава процессоров при неоднородности коммуникационной среды Загрузка коммуникационной среды
- 63. Нестабильность производительности процессоров Попадание на медленные процессоры (появляется разбалансировка, можно запрашивать лишние процессоры и отключать медленные)
- 64. Предсказатель эффективности DVM-программ получает характеристики выполнения DVM-программы на рабочей станции и использует их для предсказания эффективности
- 65. Принципиальные трудности предсказания эффективности Для современных процессоров трудно прогнозировать время выполнения разных фрагментов программы (кэш-память и
- 66. Предсказатель – инструмент отладки эффективности Он может довольно точно оценить влияние основных факторов: степень распараллеливания программы
- 67. Предсказатель – инструмент отладки эффективности На современных процессорах эффективность вычислений может отличаться в 3-7 раз в
- 68. Выводы Отладка эффективности параллельных программ – процесс очень сложный и трудоемкий Развитые средства анализа эффективности могут
- 69. Вопросы, замечания? СПАСИБО !
- 71. Скачать презентацию




![Distribution of array A [8][8]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/386519/slide-5.jpg)































































Участие гражданина в политической жизни
Областной методический семинар
9 класс Обществознание 08.09.2022 (1)
Презентация на тему Микеланджело ди Лодовико ди Буонарроти Симони
Проецирование
eb3390d04f4325dcf60c44bd924740c0
Виды соединений
Презентация на тему Днк Дезоксирибонуклеиновая кислота
Экономические реформы 1985 -1991 гг
Артур Конан Дойл «Шерлок Холмс»
О готовности Иркутской области к сертификации территории, свободной от эндемичной кори
Пассажирский транспорт
Разработка технологического процесса изготовления корпуса пневматического привода
Запоры представления, патогенез, лечебные подходы.
«Подрядчик мероприятия»
Блюда из пророщенного зерна
Theory of tourism
Who is Santa Claus?
"Угадай героиню"
Дарынды оқушыларды анықтау жене колдау жұмыстары
New Year songs
Вербальна складова спілкування
Копия презентации на www.demos.su/integrat/secur.htm
Слагаемые успеха в бизнесе
Школа актива. Повелитель своего слова
Презентация на тему Семейная экономика
Проект: строительства Торгово-гостиничного комплекса в Белгородской области, Белгородский р-н, п. Северный ул. Северная (трасса М2
Тайна Кардиффского гиганта