Форум программистов, компьютерный форум CyberForum.ru

MPI_Sendrecv_replace - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отсортировать двумерный массив по столбцам http://www.cyberforum.ru/cpp-beginners/thread1162404.html
С помощью какой сортировки можно отсортировать двумерный массив по столбцово? Следующий вопрос вот в чем. Вот у меня двумерный массив (3 строки, 9 столбцов). Получается - ячеек 21. Как сделать так, чтобы только 15 ячеек были заполнены?:help:
C++ Найти смещение точки координаты которой находятся в цикле Товарищи помогите! Есть задача найти смещение точки координаты которой находятся в цикле for(int i = 0; i < faces.size(); i++) { Point center( faces.x + faces.width/2, faces.y + faces.height/2 ); face_i = faces; ellipse( frame, center, Size( faces.width/faces.width, faces.height/faces.height), 0, 0, 360, Scalar( 255, 0, 255 ), 2, 8, 0 ); http://www.cyberforum.ru/cpp-beginners/thread1162398.html
C++ Высокая точность вычислений (погрешность<10^-30)
Здравствуйте, необходимо вычислить значение функции с заданной точностью (к примеру с точностью до 30-го знака после запятой), знает ли кто как выполнить это? (слышал что вродебы через vector это возможно, но как незнаю) функция для которой должно быть вычисление double d_w(double x,double eps,int k) //eps заданная точность, к номер производной, x точка в которой находим производную { ...
C++ Утечка памяти или что? Валидность итератора
вообщем падает задача через раз, вроде бы в 44 строке, вместо str+= надо бы по идее метод push_back() но при подстановке str.push_back(*it_v) ругается.... мб причина и не в этом #include <iostream> #include <cstdlib> #include <ctime> #include <algorithm> #include <vector> using namespace std; int main() { srand(time(0));
C++ Поиск по заштрихованной части матрицы http://www.cyberforum.ru/cpp-beginners/thread1162367.html
Такая вот задача: есть матрица 5х5 (заполняется случайным образом), в ней некоторые елементы заштрихованы. Найти минимальный элемент в заштрихованной части матрицы и заменить им все элементы из незаштрихованной части. Матрица выглядит так (слэш - заштрихованный элемент): | ----- | | ----/ | | -///- | | ////- | | ----- |
C++ Найти числа которые делятся на 6, делятся на 2, и на 3 Даны числа от 1 го до 20 ти. из них надо найти числа коорые делятся на 6, делятся на 2, и на 3. Как решить помогите контрольная работа у нас кто-нибудь пожалуйста! подробнее

Показать сообщение отдельно
maksimkalon
8 / 7 / 2
Регистрация: 03.03.2013
Сообщений: 71

MPI_Sendrecv_replace - C++

30.04.2014, 10:32. Просмотров 501. Ответов 4
Метки (Все метки)

Здравствуйте! Задача такая: в каждом процессе дано вещественное число, нужно изменить порядок этих чисел, т.е. число из процесса 0 поместить в последний процесс, из процесса 1 в предпоследний процесс, и т.д. Делаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    int flag;
    MPI_Initialized(&flag);
    if (flag == 0)
        return;
    int rank, size;
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    
    MPI_Status s;
    double a;
    *Получаем число a*
    MPI_Sendrecv_replace(&a,1,MPI_DOUBLE,size-rank-1,0,rank,0,MPI_COMM_WORLD,&s);
    *Выводим число a*
При запуске программы зависают все процессы. В попытке разобраться написал следующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    int flag;
    MPI_Initialized(&flag);
    if (flag == 0)
        return;
    int rank, size;
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    
    MPI_Status s;
    double a;
    *Получаем число a*
    if(rank == 0 || rank == 1)
    {
        MPI_Sendrecv_replace(&a,1,MPI_DOUBLE,0,0,1,0,MPI_COMM_WORLD,&s);
    }
    *Выводим число a*
В результате процесс 1 завис, но в нулевом процессе было число из процесса 1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru