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

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

 
0 1
Основной задачей является тестирование игрового мода для разрабатываемого нами проекта на базе GTA SAMP (San Andreas Multiplayer). Главной задачей тестирования является поиск багов, то есть недоработок игрового мода, как смысловых (система работает, но бессмысленно/не правильно) так и визуальных (метка......
safe 
0 0
Разработка виртуальной среды для Proxmox. Необходимо разработать обход обнаружения античитами видеоигр виртуальных машин на proxmox. Надо иметь возможность разделения видеокарты на несколько виртуальных машин и предоставлять прямой доступ к карте. Использовать патченное ядро, закрывающее баг RTDS обнаружения.......
4 недели назад
$3
0 0
расшифровать или подобрать MD5 Хэш: c74d673f4042bd732ae2a287c059a9ba. начало ответа 8385626820 8385626820. хх....
3 месяца назад
safe 
0 3
Cофт для автоматической торговли токенами в сети Solana. На разработку с тестами и устранением багов выделяется 1-2 месяца, при превышении контракт расторгается!...
safe 
0 6
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
 
0 0
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
8 месяцев назад
 
0 2
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
9 месяцев назад
$7
0 4
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
10 месяцев назад
safe 
0 1
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
$21
0 2
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
1 год назад
safe 
0 1
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine   Проблема: Система обработки этих писем написана некорректная и негибкая    Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
$37
0 3
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
$71
0 0
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
1 год назад
safe 
0 1
Разрабатываю десктопные программы на языке Java,  а так же Java + SQL....
 
0 8
  1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
safe 
0 5
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
safe 
0 9
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках.   Требования к исполнителю:......
safe 
0 15
Разработка чат-бота под ваши нужды....
$143
0 1
Oпpocы (1008pyб/чaс) Заходитe на сaйт: gonsù....
1 год назад
Смотреть все