Технология MPI
Бюджет
20$
/ 1200
руб
в месяц
Создан: 4 года назад
Открыт
- Описание
- Задание 1
Цель: реализация механизма сборки данных
В рамках MPI реализовать механизм сборки данных в соответствии со следующими положениями:
1) Каждый процесс владеет некоторым собственным набором данных одного и того же типа. Данные хранятся в памяти процесса в виде линейного массива (это может быть символьный массив с сообщением типа "Привет от процесса номер такой-то").
2) Необходимо собрать наборы данных со всех процессов на нулевой процесс с сохранением их на нем в виде двумерного динамического массива: данные i-го процесса помещаются в i-ю строку массива.
Важно!
1) Организацию сборки данных необходимо выполнить, исходя из предположения о том, что количество данных на каждом процессе может быть различным. При этом 0-процесс для получения и размещения данных от i-го процесса должен выделить ровно столько памяти (под i-ю строку массива), сколько для этого необходимо.
2) С целью уменьшения времени простоев данные от процессов необходимо собирать по мере их готовности (поступления), а не в порядке нумерации процессов.
Задание 2
Разработать пользовательскую версию функции MPI_Bcast() с сохранением оригинального списка аргументов.
Задание 3
Цель: реализация конвейерной обработки данных с перекрытием операций обмена данными вычислениями
Реализовать конвейерную обработку данных в рамках технологии MPI. В качестве контекста обработки данных можно использовать алгоритм, последовательный код которого имеет вид:
int a[N1][N2];
for (i = 1;i<N1; i++)
for (j = 0;j<N2; j++)
a[i][j] = a[i-1][j]+1;
В рамках алгоритма происходит последовательная инициализация элементов двумерного массива: элементы i-строки инициализируются соответствующими (стоящими в том же столбце) элементами (i-1)-строки, увеличенными на единицу.
С параллельной точки зрения, двумерный массив нарезается на ленты строк по количеству процессов. Каждая лента содержит N1/P строк. Ленты распределяются между процессами: расчет строк i-ленты осуществляется на i-процессе. Значения первой строки ленты на процессе зависят от значений последней строки ленты соседнего процесса с меньшим номером. Данные зависимости порождают необходимость в обмене данными между процессами.
С целью оптимизации коммуникаций ленты строк нарезаются по столбцам на блоки. Всего N2/r блоков, где r размер блока. В рамках параллельного алгоритма, каждый MPI-процесс последовательно блок за блоком инициализирует их элементы. Расчет блоков перемежается операциями обмена данными. Перед расчетом элементов i-блока процесс должен получить элементы последней строки i-блока от соседнего процесса с меньшим номером, затем с помощью полученных значений выполнить инициализацию элементов своего i-блока и, после этого, передать последнюю строку этого блока соседнему процессу с большим номером.
Важно!
Вычислительная нагрузка в данном алгоритма на самом деле не принципиальна и выбрана просто для конкретики. Главное в этом задании оптимальная организация обменов данными. В идеале, все коммуникации необходимо спрятать под вычисления (overlapping communication and computation).
- Категория
Источник: fl.ru
Похожие проекты
$21
0
1
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы ....
1 неделя назад
0
0
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
2 недели назад
$357
0
0
$21
0
3
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы ....
1 месяц назад
$214
0
1
Здравствуйте, у кого есть проект по продвижению chaturbate? Или кто-то делает?...
1 месяц назад
$21
0
0
Заказные доработки функционирующих учётно-управленческих систем на производственных предприятиях. Навыки программирования в MS SQL, VBScript, 1С, знание принципов ООП....
1 месяц назад
$36
0
2
Нужно опубликовать мобильное приложение для Android в Гугл маркет с аккаунта разработчика Гугл плей консоль, созданного ДО Ноября 2023. В рамках проекта, необходимо прислать приглашение мне на почту, чтобы я загрузила приложение и отправила его на модерацию, с сохранением безвременного доступа к моему......
1 месяц назад
$71
0
3
Сделать игру для яндекс игр, настроить рекламу в игре и помочь с публикацией игры в платформе яндекс игры. Игра - карточная игра Пасьянс Паук (косынка) Игровой процесс: Тип игры: Пасьянс Паук. Количество мастей: Игрок может выбирать количество мастей: 1, 2, 3 или 4. Подсказки: Автоматические подсказки,......
2 месяца назад
$14
0
2
Без акцента на идею, необходимо создать мобильное приложение iOs и Android, с возможностью трансляции основной информации в миниапп Tg. Интеграция с платежной системой, внутренний кошелек, две валюты. В зависимости от гео, возможность конвертации валют ч/з сервер. На старте, сервер скорее облачный. Двухфакторная......
2 месяца назад
$1200
0
0
Необходимо перевести действующую БД с версии 77 на 8 (переписать конфигурацию, настроить обработки для переноса данных). Не типовая конфигурация по учету пенсионеров в ГУ РК....
2 месяца назад
$22
9
3
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
2 месяца назад
$714
0
1
Описание задачи: Необходимо разработать serverless функцию на базе NestJS и TypeScript для автоматизированной обработки видеофайлов, загружаемых в Yandex Cloud Storage. Функция должна выполнять конвертацию видео в формат, поддерживаемый основными веб-браузерами, с последующим сжатием до оптимального......
2 месяца назад
$44
49
1
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
2 месяца назад
28
1
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
2 месяца назад
44
7
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
2 месяца назад
$1111
23
0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
2 месяца назад
$33
31
2
$22
55
0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
2 месяца назад
36
0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
2 месяца назад
83
4
37
0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
2 месяца назад
Похожая удалённая работа
- Удаленная работа для веб-программиста
- Удаленная работа для разработчика баз данных
- Удаленная работа для прикладного программиста
- Удаленная работа для системного программиста
- Удаленная работа для разработчика игр
- Удаленная работа для разработчика мобильных приложений
- Удаленная работа для тестировщика ПО
- Удаленная работа для 1С программиста
- Удаленная работа для разработчика встраиваемых систем
- Удаленная работа для разработчика CRM и ERP