Технологии параллельного программирования. Лекция 3

Содержание

Слайд 2

Содержание Критерии выбора технологии Классификация и обзор технологий Т.Ю.Лымарь *

Содержание

Критерии выбора технологии
Классификация и обзор технологий

Т.Ю.Лымарь

*

Слайд 3

Критерии выбора технологии Возможность создания эффективных программ Возможность быстрого создания программ

Критерии выбора технологии

Возможность создания эффективных программ
Возможность быстрого создания программ
Возможность сохранения эффективности

созданных программ при их переносе

Т.Ю.Лымарь

*

Слайд 4

Классификация технологий Параллельные расширения последовательных языков программирования Параллельные языки программирования Высокоуровневые

Классификация технологий

Параллельные расширения последовательных языков программирования
Параллельные языки программирования
Высокоуровневые коммуникационные библиотеки и

интерфейсы (API)
Специализированные параллельные библиотеки
Инструментальные системы, облегчающих разработку параллельных программ
Средства автоматического распараллеливания последовательных программ
Специализированные прикладные пакеты

Т.Ю.Лымарь

*

Слайд 5

Параллельные расширения Дополнение имеющегося языка последовательного программирования параллельными конструкциями Параллельные расширения

Параллельные расширения

Дополнение имеющегося языка последовательного программирования параллельными конструкциями
Параллельные расширения и диалекты

языка Fortran
Fortran-DVM, Cray MPP Fortran, F--, Fortran 90/95, Fortran D95, Fortran M, Fx, HPF, Opus, Vienna Fortran и др.
Параллельные расширения и диалекты языков C/C++
C-DVM, A++/P++, CC++, Charm/Charm++, Cilk, HPC, HPC++, Maisie, Mentat, mpC, MPC++, Parsec, pC++, sC++, uC++ и др.

Т.Ю.Лымарь

*

Слайд 6

Язык HPF (High Performance FORTRAN) Т.Ю.Лымарь *

Язык HPF (High Performance FORTRAN)

Т.Ю.Лымарь

*

Слайд 7

Параллельные языки Параллельные языки и расширения НОРМА, ABCL, Adl, Ada, Concurrent

Параллельные языки

Параллельные языки и расширения
НОРМА, ABCL, Adl, Ada, Concurrent Clean, MC#,

Erlang, Linda, Modula-3, NESL, Occam, Orca, Parallaxis, Phantom, Sisal, SR, ZPL и др.

Т.Ю.Лымарь

*

Слайд 8

Интерфейсы параллельного программирования Программирование на стандартных и широко распространенных языках программирования

Интерфейсы параллельного программирования

Программирование на стандартных и широко распространенных языках программирования с

использованием высокоуровневых коммуникационных библиотек и интерфейсов (API) для организации межпроцессного взаимодействия.
Коммуникационные библиотеки и интерфейсы
ACE, ARCH, BIP, BLACS, BSPlib, CVM, Counterpoint, FM, Gala, GA, HPVM, ICC, JIAJIA, KELP, LPARX, MPI, MPL, OOMPI, OpenMP, P4, Para++, Phosphorus, PVM, Quarks, ROMIO, ShMem, SVMlib, TOOPS, Treadmarks

Т.Ю.Лымарь

*

Слайд 9

Специализированные параллельные библиотеки Библиотеки заранее распараллеленных процедур для решения различных научно-технических

Специализированные параллельные библиотеки

Библиотеки заранее распараллеленных процедур для решения различных научно-технических задач

(линейная алгебра, сеточные методы, методы Монте-Карло, генетические алгоритмы, рендеринг изображений, …)
ATLAS, Aztec, BlockSolve95, Distributed Parallelization at CWP, DOUG, GALOPPS, JOSTLE, NAMD, P-Sparslib, PIM, ParMETIS, PARPACK, PBLAS, PETSc, PGAPack, PLAPACK, ScaLAPACK, SPRNG и др.

Т.Ю.Лымарь

*

Слайд 10

Инструментальные системы разработки Интегрированные среды прототипирования, разработки и отладки параллельных программ

Инструментальные системы разработки

Интегрированные среды прототипирования, разработки и отладки параллельных программ
CODE, HeNCE,

GRADE, TRAPPER, EDPEPPS, Reactor, DEEP, Converse и др.

Т.Ю.Лымарь

*

Слайд 11

Инструментальная система CODE Параллельная программа представляется в виде графа, вершинами которого

Инструментальная система CODE

Параллельная программа представляется в виде графа, вершинами которого являются

последовательные участки, а дуги соответствуют пересылкам данных. Последовательные участки могут быть написаны на любом языке, для пересылок используется PVM или MPI.

Т.Ю.Лымарь

*

Слайд 12

Средства автоматического распараллеливания Средства распознавания параллелизма в алгоритмах, средства автоматического и

Средства автоматического распараллеливания

Средства распознавания параллелизма в алгоритмах, средства автоматического и полуавтоматического

распараллеливания последовательных программ
BERT 77, FORGE, KAP, PIPS, VAST, V-Ray.

Т.Ю.Лымарь

*

Слайд 13

Пакет V-Ray V-Ray – комплекс инструментальных средств, направленных на автоматизацию создания

Пакет V-Ray

V-Ray – комплекс инструментальных средств, направленных на автоматизацию создания и

оптимизацию параллельных Fortran-программ для современных суперкомпьютерных систем. Разработка НИВЦ МГУ.
Основные возможности:
Макроанализ – граф вызовов (порядок вызова процедур проекта), граф вложенности циклов в процедурах, граф использования общей памяти и др.
Микроанализ – иерархический граф управления, определение параллельных циклов, и др.

Т.Ю.Лымарь

*

Слайд 14

V-Ray: граф вызовов программы Т.Ю.Лымарь *

V-Ray: граф вызовов программы

Т.Ю.Лымарь

*

Слайд 15

V-Ray: граф вложенности циклов Т.Ю.Лымарь *

V-Ray: граф вложенности циклов

Т.Ю.Лымарь

*

Слайд 16

V-Ray: граф использования общей памяти Т.Ю.Лымарь *

V-Ray: граф использования общей памяти

Т.Ю.Лымарь

*

Слайд 17

Распараллеливающие компиляторы do 10 i=1, n do 50 j=1, n A(i+j)=A(2*n-i-j+1)*q+p

Распараллеливающие компиляторы

do 10 i=1, n
do 50 j=1, n
A(i+j)=A(2*n-i-j+1)*q+p

Т.Ю.Лымарь

do

10 i=1, n
do 20 j=1, n-i
A(i+j)=A(2*n-i-j+1)*q+p
do 30 j=n-i+1, n
A(i+j)=A(2*n-i-j+1)*q+p

*

Слайд 18

Распараллеливающие компиляторы Т.Ю.Лымарь ? do 10 i=1, n A(i)=UserFunc(A, B(i)) *

Распараллеливающие компиляторы

Т.Ю.Лымарь

?

do 10 i=1, n
A(i)=UserFunc(A, B(i))

*

Слайд 19

Специализированные прикладные пакеты Специализированные прикладные пакеты, работающие на параллельных вычислительных платформах

Специализированные прикладные пакеты

Специализированные прикладные пакеты, работающие на параллельных вычислительных платформах
Задачи инженерного

анализа, прочности, теплофизики, деформации, упругости, пластичности, электромагнетизма
ANSYS, MSC.NASTRAN, ABAQUS, LS-DYNA
Задачи аэро- и гидродинамики, механики жидкостей и газов, горения и детонации
CFX, FLUENT, STAR-CD, FLOWVISION, FLOW-3D, GDT
Задачи акустического анализа
LMS Virtual Lab. Acoustic, COMET/Acoustics

Т.Ю.Лымарь

*