Содержание
- 2. Часть 1. Умножение матрицы на вектор Умножение матрицы на вектор или Задача умножения матрицы на вектор
- 3. Способы распределения данных Способы распределения данных из матрицы горизонтальные полосы вертикальные полосы Чередующееся (цикличное) горизонтальное разбиение
- 4. Способы распределения данных: ленточная схема Непрерывное (последовательное) распределение горизонтальные полосы вертикальные полосы Чередующееся (цикличное) горизонтальное разбиение
- 5. Последовательный алгоритм Для выполнения матрично-векторного умножения необходимо выполнить m операций вычисления скалярного произведения Трудоемкость вычислений имеет
- 6. Алгоритм 1: ленточная схема (разбиение матрицы по строкам) Базовая подзадача - операция скалярного умножения одной строки
- 7. Результаты вычислительных экспериментов
- 8. Алгоритм 2: ленточная схема (разбиение матрицы по столбцам) Базовая подзадача - операция умножения столбца матрицы А
- 9. Схема информационного взаимодействия Для получения элементов результирующего вектора с подзадачи должны обменяться своими промежуточными данными
- 10. Результаты вычислительных экспериментов
- 11. Алгоритм 3: блочная схема Пусть: количество процессоров p=s·q , количество строк матрицы является кратным s: m=k·s
- 12. Алгоритм 3: блочная схема Поэлементное суммирование векторов частичных результатов для каждой горизонтальной полосы (редукция) блоков матрицы
- 13. Результаты вычислительных экспериментов Общее количество базовых подзадач совпадает с числом процессоров p, p=s·q Большое количество блоков
- 14. Сравнение алгоритмов
- 15. Часть 2. Умножение матриц Умножение матриц: или Задача умножения матрицы на матрицу может быть сведена к
- 16. Последовательный базовый алгоритм double MatrixA[Size][Size]; double MatrixB[Size][Size]; double MatrixC[Size][Size]; int i,j,k; ... for (i=0; i for
- 17. Результаты вычислительных экспериментов Эксперименты проводились на двухпроцессорном вычислитель-ном узле на базе четырех-ядерных процессоров Intel Xeon E5320,
- 18. Часть 2. Умножение матриц × =
- 19. Умножение матриц × =
- 20. Умножение матриц Процесс хранит одну строку матрицы A и все столбцы матрицы B
- 21. Трудоемкость
- 22. Способы распределения данных Способы распределения данных матрицы горизонтальные полосы вертикальные полосы Чередующееся (цикличное) горизонтальное разбиение блочное
- 23. Параллельный алгоритм 1: ленточная схема Каждая подзадача содержит по одной строке матрицы А и одному столбцу
- 24. Параллельный алгоритм 1: ленточная схема Топология информационных связей подзадач в виде кольцевой структуры: 1 2 3
- 25. Результаты вычислительных экспериментов
- 26. Параллельный алгоритм 1: ленточная схема void MatrixMultiplicationMPI(double *&A, double *&B, double *&C, int &Size) { int
- 27. int NextProc; int PrevProc; for (p=1; p { NextProc = ProcRank+1; if (ProcRank == ProcNum-1) NextProc
- 28. Параллельный алгоритм 2: ленточная схема Идея: распределение данных в разбиении матриц A и B по строкам
- 29. Параллельный алгоритм 2: ленточная схема
- 30. Параллельный алгоритм 2: ленточная схема Алгоритм Вначале производится рассылка в процесс ранга K элементов K-й строки
- 31. Результаты вычислительных экспериментов
- 32. Простой блочный алгоритм
- 33. Простой блочный алгоритм Вычисление произведения матриц в конечном поле с помощью простой параллельной схемы умножения. Коэффициент
- 34. Метод Фокса Распределение данных происходит по Блочной схеме Базовая подзадача - процедура вычисления всех элементов одного
- 35. Параллельный алгоритм 2: метод Фокса Выделение информационных зависимостей - для каждой итерации l, 0≤ l блок
- 36. Схема информационного взаимодействия Параллельный алгоритм 2: метод Фокса Масштабирование и распределение подзадач по процессорам Размеры блоков
- 37. Пример: метод Фокса Итерация 1. Диагональные процессы раздают свои элементы матрицы А направо соседям, матрица В
- 38. Пример: метод Фокса Итерация 2. Верхнедиагональные процессы раздают свои элементы матрицы А направо соседям. В матрице
- 39. Пример: метод Фокса х = Итерация 2. Итерация 1. Итерация 3.
- 40. Результаты вычислительных экспериментов
- 41. Алгоритм Кэннона при блочном разделении данных Базовая подзадача - процедура вычисления всех элементов одного из блоков
- 42. Перераспределение блоков исходных матриц на начальном этапе выполнения метода Параллельный алгоритм 3: метод Кэннона
- 43. Пример: метод Кэннона Итерация 1. Циклический сдвиг по строкам: 0-я строка на 0 элементов влево 1-я
- 44. Пример: метод Фокса х = Итерация 2. Итерация 1. Итерация 3.
- 45. Выделение информационных зависимостей В результате начального распределения в каждой базовой подзадаче будут располагаться блоки, которые могут
- 46. Результаты вычислительных экспериментов
- 48. Скачать презентацию














![Последовательный базовый алгоритм double MatrixA[Size][Size]; double MatrixB[Size][Size]; double MatrixC[Size][Size]; int i,j,k; ...](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/906018/slide-15.jpg)






























Почти графический редактор
Мои проекты
Интернет – телевидение (IPTV)
Хронометраж для соревнований
Сервис легального распространения цифровых копий игр Steam
Облачные технологии
Элементы цифровой логики. Простейшие логическое схемы
Понятие информации (базовая презентация) (Урок 1.)
Информационные технологии. Материнская плата. Документооборот. Фильтрация данных. Шаблон документа
Кодирование источника (эффективное кодирование)
Компьютерные сети
Защита персональных данных
Персональный компьютер
Общие свдения о языке Паскаль
Интернет-магазин
Dr.WEB® – это всё, что Вам нужно для защиты!
Интернет
Use PC Clienterr
Компьютерная графика
Информационные ресурсы Интернета
Решение задач с массивами
Электронные таблицы. Обработка числовой информации в электронных таблицах
Программирование линейных алгоритмов. Начала программирования
Отчёт о посещении курсов. Делопроизводство и информационные технологии
Советы как защитить свой аккаунт в социальных сетях
Distant-learning 2020
Основы логики и логические основы компьютера
3D галерея