Бюджет 20$ / 1200
руб
в месяц
Создан: 3 года назад
Открыт
Описание
Задание 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

Похожие проекты

safe$22
9 0
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
safe 
28 0
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
1 год назад
safe 
44 1
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
1 год назад
safe$44
49 0
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe$1111
48 0
Требуется написать парсер маркетплейса, у которого есть только мобильное приложение (IOS, Android). Есть исходный код Android приложения (Java + Kotlin), реверснутый через JADX. Необходимо парсить данные о товарах, полученные по артикулу. За подробностями тг: @markermann)....
1 год назад
 
38 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
31 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
40 1
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
$22
59 1
В Геткурсе нужно сделать интеграцию со Сбербанком для оформления рассрочки/кредита. Основная задача – передача суммы и номера заказа при переходе для оформления рассрочки и возврат сведений при удачном оформлении. Эквайринг от Сбербанка к Геткурсу подключён, а готовой интеграции для рассрочки нет. Если......
1 год назад
 
96 0
Нужно сделать бот перехватчик заказов по фильтру такси Максим!...
1 год назад
$33
75 1
Как можно загрузить готовое фото из галереи, если приложение просит загрузить фото и при этом открывает камеру телефона? Нужно вместо использования реальной камеры смоделировать вход камеры и при этом загрузить фото из галереи....
1 год назад
 
117 3
Очень простой криптообменник в виде веб-сайта. Без смарт-контрактов и т. Все платежи вручную....
Смотреть все