Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
2024-02-15 | 14 |
5.00
из
|
Заказать работу |
|
|
В общем виде схема информационного взаимодействия подзадач в ходе выполняемых вычислений при ленточной схеме разделения данных показана на рис. 1.8.
Масштабирование и распределение подзадач по вычислительным элементам
В процессе умножения плотной матрицы, разбитой на строки или столбцы, на вектор количество вычислительных операций для получения скалярного произведения одинаково для всех базовых подзадач. Поэтому в случае, когда число вычислительных элементов p меньше числа базовых подзадач m (p<m), возможно объединение базовых подзадач, для того чтобы каждый вычислительный элемент выполнял несколько таких задач, соответствующих непрерывной последовательности строк матрицы pMatrix. В этом случае по окончании вычислений каждая базовая подзадача определяет набор элементов результирующего вектора pResult.
Реализация параллельного алгоритма
При выполнении этого упражнения Вам будет предложено разработать параллельный алгоритм умножения матрицы на вектор. При работе с этим упражнением вы:
- познакомитесь с основами OpenMP;
- получите первый опыт разработки параллельных программ для вычислительных систем с общей памятью.
В файле ParallelMV.cpp будет расположена главная функция (main) будущего параллельного
приложения, которая содержит объявления необходимых переменных. Также в файле ParallelMV.cpp должны быть расположены функции, перенесенные сюда из проекта, содержащего последовательный алгоритм умножения матрицы на вектор: DummyDataInitialization, RandomDataInitialization, SerialResultCalculation, PrintMatrix и PrintVector.
Эти функции можно будет использовать и в параллельной программе.
Скомпилируйте и запустите приложение стандартными средствами Visual Studio. Убедитесь в том, что в командную консоль выводится приветствие: "Parallel matrix-vector multiplication
program".
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!