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

Создание нового типа MPI - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Раздельный native unit test для проекта скомпилированного как Debug и как Release http://www.cyberforum.ru/cpp-beginners/thread1165888.html
Используя условную компиляцию версия Debug и Release может существенно различаться. Не все ситуации можно смоделировать для теста и могут пригодиться какие-то дополнительные функции в классе, которые будут генерировать исключение там где оно могло возникнуть и не нужные в Release с целью проверить, а действительно ли ты был готов к подобной ситуации. Отсюда и вопрос как в модульном тесте часть...
C++ Перегрузка функций Добрый день! Помогите, пожалуйста. Определить функцию, проверяющую верна ли дата. Выполнить перегрузку функции для следующих типов параметров: -Структура «дата» (год, месяц, день). -Три целочисленных параметра: год, месяц, день. -Два целочисленных параметра: месяц, день (считать передаваемые числа датой текущего года) http://www.cyberforum.ru/cpp-beginners/thread1165883.html
Найти сумму последнего и максимального элементов массива C++
Исправьте ошибку, пожалуйста Дано линейный массив действительных чисел. Найти сумму последнего и максимального элементов массива Все шаги реализуются в виде функции. Функции должны содержать параметры. Одна функция один шаг. Главная функция должна содержать только вызовы функций. #include<iostream> #include<ctime> using namespace std; int arr; void print_mas (int n)
Сортировка C++
Слово на русском языке и вычисленный в процессе ввода порядковый номер буквы, с которой начинается слово в русском алфавите. Ключ сортировки – первая буква, алгоритм сортировки – любой.
C++ Добавить в граф ребро, соединяющее вершины u и v http://www.cyberforum.ru/cpp-beginners/thread1165758.html
Доброго дня, друзья!) Нужно решить задачку, но, к сожаления, не знаю даже с какой стороны подойти, тк с графами ранее не сталкивался. Не могли бы вы помочь решением или идеей как это можно сделать. Дан граф из N вершин, заданный списком смежности. Необходимо добавить в него ребро, соединяющее вершины u и v и Вывести вершины смежные с u и смежные с v. Ввод и вывод осуществляется с помощью...
C++ Подсчёт в строке слов, состоящих только из русских букв Подсчёт в строке слов, состоящих только из русских букв. подробнее

Показать сообщение отдельно
maksimkalon
8 / 7 / 2
Регистрация: 03.03.2013
Сообщений: 70
10.05.2014, 15:28  [ТС]     Создание нового типа MPI
Проблему решил, не нужно было указывать четвертый параметр в объявлении нового типа и через MPI_Gather отправлять/принимать 1 значение нового типа
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
    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);
    
    typedef struct {
        double a;
        int b,c;
    } doubleint2;
    doubleint2 sbuf,rbuf[10];
    MPI_Datatype newtype;
    int blockers[3]={1,1,1};
    MPI_Aint displs[3]={offsetof(doubleint2,a),offsetof(doubleint2,b),offsetof(doubleint2,c)};
    MPI_Datatype oldtypes[3]={MPI_DOUBLE,MPI_INT,MPI_INT};
    
    MPI_Type_struct(3,blockers,displs,oldtypes,&newtype);
    MPI_Type_commit(&newtype);
 
    if(rank>0)
    {
        *Ввод a,b,c*
    }
    MPI_Gather(&sbuf,1,newtype,&rbuf,1,newtype,0,MPI_COMM_WORLD);
    if(rank == 0)
    {
        for(int i=1; i<size; i++)
        {
            *Вывод a,b,c*
        }
    }
 
Текущее время: 13:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru