Содержание
- 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)






























История Слендермена
Отправить сообщения на электронный адрес на темы Электронная почта
Анимация
Сложение положительных и отрицательных чисел в обратном и дополнительном коде
Особенности языка Java
Обзор конструкторов бизнес приложений
Массива. Одномерные массивы
EMT64 (1)
Создание Web - документов
Библиотека STL. Отсортированные ассоциативные контейнеры. (Лекция 16)
Стандартные функции типа Real. (Урок 9-10)
Актуальность и значимость копирайтинга в современном мире
Программирование ветвящихся алгоритмов
Name of presentation. Subtitle here
Избыточность LAN. Широковещательный шторм. Дублирование кадров
Автоматизированная информационная система Автосервис
Исследования протоколов VoIP и разработка конфигурации сети для объединения офисов предприятия
Модуль для OpenCart
Инди-игра Color Fall
Криптовалюты. Биткойн
Массивы. Тип элемента массива. Тип индекса
Мое хобби киберспорт
Обработка графической информации
Онлайн касса РНКБ
Архитектура операционной системы
Текстовая информация
Разделяемая память System V
Троичные ЭВМ и перспективы их применения