Форум программистов, компьютерный форум, киберфорум
MPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54

Принцип геометрического параллелизма на MPI

28.11.2011, 19:50. Показов 867. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
не знаю, в какой отдел обращаться с этим вопросом, решила сюда.
необходимо распараллелить такую задачку:
y1=a[0][0] + a[0][1]*x1 + a[0][2]*x2 + a[0][3]*x3;
y2=a[1][0] + a[1][1]*x1 + a[1][2]*x2 + a[1][3]*x3;
y3=a[2][0] + a[2][1]*x1 + a[2][2]*x2 + a[2][3]*x3;
y4=a[3][0] + a[3][1]*x1 + a[3][2]*x2 + a[3][3]*x3;

подобрать отпимальные значения х1, х2, х3.
0< = x1<= 2
0<= x2 <=5
0<= x3 <= 20

критерий оптимизации: у4 минимальный, при этом 1050<= y1 <=1110, 20<= y2 <=40, 4<= y3 <=8

вот то что у меня получилось, но без распараллеливания. Буду рада любой помощи)))

// consist.cpp : Defines the entry point for the console application.
//

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "stdafx.h"
#include <mpi.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
 
int main(int argc, char** argv)
{   
    int size, rank;
 
    MPI_Init(&argc, &argv);
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
 
    double x1, x2, x3, x4, y1, y2, y3, y4;
 
    double a[4][4]={1030, 4, 5, 9,
                    20, -5, 10, 10,
                    1, 0.5, -0.5, 2,
                    1.2, 0.1, 0.5, 1.2 };
    double b[3][2]={1050, 1110,
                    20, 40, 
                    4, 8};
 
    double *mas=new double[4];
    //mas[0]=1; mas[1]=2; mas[2]=3; mas[3]=4;
    double min=999999;
 
    for(x1=0; x1<=2; x1=x1+2/(rank+1))
        for(x2=0; x2<=5; x2=x2+5/(rank+1))
            for(x3=0; x3<=20; x3=x3+20/(rank+1))
            {
 
                y1=a[0][0]  + a[0][1]*x1 + a[0][2]*x2 + a[0][3]*x3;
                
                if((b[0][0]<=y1) && (y1<=b[0][1]))
                {y2=a[1][0] + a[1][1]*x1 + a[1][2]*x2 + a[1][3]*x3;
                cout<<y2<<endl;
                }
                else 
                    continue;
                
                if((b[1][0]<=y2) &&( y2<=b[1][1]))
                {y3=a[2][0] + a[2][1]*x1 + a[2][2]*x2 + a[2][3]*x3;
                //cout<<y3<<endl;
                }
                else continue;
                
                        if((b[2][0]<=y3) && (y3<=b[2][1]))
                        {{y4=a[3][0] + a[3][1]*x1 + a[3][2]*x2 + a[3][3]*x3;
                        //cout<<y4<<endl;
                        }
                        if(y4<min){
                            min=y4;
                        mas[0]=x1; mas[1]=x2; mas[2]=x3;mas[3]=y4;
                        cout<<x1<<"  "<<x2<<"  "<<y4<<endl;
                        }
                
                }else continue;
            }
 
            cout<<rank<<endl;
        for(int i=0; i<4;i++)
        {cout<<endl;
        printf("%f ", mas[i]);}
        delete[]mas;
    MPI_Finalize();
    cout<<"bye"<<endl;
    //getch();
 
    return 0;
}
 Комментарий модератора 
Код выделяем тегами!


Добавлено через 15 минут
Упс)))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.11.2011, 19:50
Ответы с готовыми решениями:

WMPI - функции коллективного обмена в MPI . Производные типы в MPI
помогите пожалуйста - вот задание: Разработать программу, создающую MPI - тип данных C- структуры (long a; unsigned char b; float c ) и...

Контрольная работа по openmp и mpi (Метод Гаусса-Жордана). Сложности с реализацией MPI на С++
Нужна помощь с составлением алгоритма для метода Гаусса-Жордана на С++. Нашёл такой вот код method.cpp #include...

[Fortran MPI] Как реализовать MPI-ExScan с помощью операций MPI_Send и MPI_Recv?
Здравствуйте! Никак не могу разобраться,как реализовать MPI-ExScan с помощью операций MPI_Send и MPI_Recv. Помогите, пожалуйста. Заранее...

2
2 / 2 / 0
Регистрация: 14.07.2011
Сообщений: 49
28.11.2011, 20:04
А часом не в УГАТУ учишься?
ps В mpi не шарю, помочь не могу
0
 Аватар для Pain'ka
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 54
29.11.2011, 19:58  [ТС]
нет, в БГУ.
А ты с УГАТУ?

Добавлено через 23 часа 15 минут
Кто - нибудь!!!!!!!!!!!!!!!!!!!!
Отзовитесь!!!!!!!!!!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.11.2011, 19:58
Помогаю со студенческими работами здесь

Cобытийность. Принцип использования и принцип работы событий в jQ и GCT
Добрый день. Подготавливаюсь к собеседованию по чеклисту и не могу найти ответ на вопрос: событийность. Принцип использования и принцип...

ошибка параллелизма
Есть две формы для редактирования записей. одна позволяет создавать и удалять, вторая редактировать. Проблема в том что после...

Нарушение параллелизма
Всем доброго дня!По данной проблеме читал все ветки в данном разделе,но решение проблемы своей не нашёл. Записываю данные в DatagridView...

Нарушение параллелизма
Здравствуйте еще раз, много тем видел на форуме но так и не смог решить эту проблему. Есть такой вот код private void...

Нарушение параллелизма
Здравствуйте. возникла ошибка. добавляю данные в грид. запись добавляется с id -1, при закрытии приложения и запуске запись имеет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 19.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 11.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru