На бирже курсовых и дипломных проектов можно найти образцы готовых работ или получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ, диссертаций, рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


Лабораторка Параллельные вычисления.Написать программу, используя блокирующие коммуникационные функции (MPI_Send, MPI_Recv), реализующую алгоритм передачи данных по кольцу.

Информация:

Тип работы: Лабораторка. Добавлен: 16.05.2016. Сдан: 2016. Страниц: 6. Уникальность по antiplagiat.ru: 90.

Описание (план):



1. ПОСТАНОВКА ЗАДАЧИ 2
2. ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ ФУНКЦИЙ 2
3. ОПИСАНИЕ ПРОГРАММЫ 3
4. РЕАЛИЗАЦИЯ 3
ЗАКЛЮЧЕНИЕ 6
ЛИТЕРАТУРА 6

1. Постановка задачи
Написать программу, используя блокирующие коммуникационные функции (MPI_Send, MPI_Recv), реализующую алгоритм передачи данных по кольцу.
2. Описание используемых функций
• int MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) //функция выполняет посылку сообщений
Входные параметры:
buf - адрес начала расположения пересылаемых данных;
count - число пересылаемых элементов;
datatype - Тип посылаемых элементов;
dest - номер процесса-получателя в группе, связанной с коммуникатором comm;
tag - идентификатор сообщения;
comm - коммуникатор области связи.
• int MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) // функция выполняет прием
Входные параметры:
count - максимальное число принимаемых элементов;
datatype - тип элементов принимаемого сообщения;
source - номер процесса-отправителя;
tag - идентификатор сообщения;
comm - коммуникатор области связи.
Выходные параметры:
buf - адрес начала расположения принимаемого сообщения;
status - атрибуты принятого сообщения.
• MPI_Status status; // aтрибуты полученного сообщения доступны в переменных status.

3. Описание программы
1) Объявить переменную a=123, которую будут передавать процессы, и l=4 сколько раз будет осуществляться передача по кольцу.
2) Инициализация библиотеки MPI¬_Init.
3) Получение количества процессов.
4) Получение ранга процесса.
5) Объявить следующий процесс, к номеру процесса который используется, добавить 1.
6) Объявить предыдущий процесс, номер процесса, который передает сообщение отнять 1.
7) Если процесс нулевой, процесс передающий сообщение - последний.
Если передающий процесс последний - следующий процесс нулевой.
8) Если передающий процесс нулевой.
Вызвать функцию MPI_Send, которая передает переменную а=123 с нулевого процесса на первый.
Вызвать функцию MPI_Recv, которая получает переменную а=123.
9) Если номер процесса не равен нулю.
Вызвать функцию MPI_Recv, которая получает переменную а=123 от предыдущего процесса.
Вызвать функцию MPI_Send, которая передает переменную а=123 следующему процессу.
.............
1) Параллельное программирование. Лабораторная работа №2.


Перейти к полному тексту работы



Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.