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

MPI, op_read error on parent context: Error = -1 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ дано текстовый файл.слово считают группу символов между двумя пробелами. Упорядочить слова файла за алфавитом(лексикографично) http://www.cyberforum.ru/cpp-beginners/thread881310.html
дано текстовый файл.слово считают группу символов между двумя пробелами. Упорядочить слова файла за алфавитом(лексикографично)
C++ Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей. Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей. http://www.cyberforum.ru/cpp-beginners/thread881306.html
C++ Напишите программу формирования и вывода массива, каждые три последовательных элемента в строке которого составлены по след. правилу
Доброе время суток! Почти никогда не писал на форум, как то сам все обычно сочинял, но тут проболел тему, и практику "массивы", теперь как валенок, в лекции ничего дельного не нашел, а в инете все на паскале. Помогите пожалуйста, с задачками по СИ. Напишите программу формирования и вывода массива размером 6 х 3, каждые три последовательных элемента в строке которого составлены по...
C++ Из массива (15 элементов) получите новый массив, каждый элемент которого равен сумме соответствующего исходного элемента и его квадрата
Доброе время суток! Почти никогда не писал на форум, как то сам все обычно сочинял, но тут проболел тему, и практику "массивы", теперь как валенок, в лекции ничего дельного не нашел, а в инете все на паскале. Помогите пожалуйста, с задачками по СИ. Сформируйте массив, содержащий 15 элементов. Получите новый массив, каждый элемент которого равен сумме соответствующего исходного элемента и...
C++ Командная строка программы С. Динамические массивы. Обработка символьных и строковых данных http://www.cyberforum.ru/cpp-beginners/thread881281.html
Задание: С клавиатуры вводятся четыре массива слов: - существительные в именительном падеже единственного числа(СТОЛЯР- КРАСНОДЕРЕВЩИК,СТУДЕНТ,ТОРМОЗ,КРЫША,КИСЛОТА,ШИЗА…); - глаголы несовершенного вида в 1-м лице единственного числа (ЕСТ, ТРА- ВИТ, КОСИТ, ПИЛИТ, ДОЛБИТ, ДОСТАЕТ); - качественные прилагательные во множественном числе (ЯДОВИТЫЕ, ОТ- ВРАТНЫЕ, ПРЕКРАСНЫЕ, УБОГИЕ, НЕВЗРАЧНЫЕ,...
C++ Сформируйте и выведите на экран массив, каждые три последовательных элемента которого составлены по след. правилу Доброе время суток! Почти никогда не писал на форум, как то сам все обычно сочинял, но тут проболел тему, и практику "массивы", теперь как валенок, в лекции ничего дельного не нашел, а в инете все на паскале. Помогите пожалуйста, с задачками по СИ. Сформируйте и выведите на экран массив из девяти элементов, каждые три последовательных элемента которого составлены по следующему правилу:... подробнее

Показать сообщение отдельно
StamSvam
6 / 6 / 0
Регистрация: 08.07.2012
Сообщений: 65
28.05.2013, 17:11     MPI, op_read error on parent context: Error = -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
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
#include <mpi.h>
#include <stdio.h>
#include "time.h"
#include "MyMethods.h"
//Найти максимальное число, меньшее заданного, которое равно сумме его десятичных цифр,
//возведенной в степень, большую 1 (например, 512 = (5+1+2)^3)
int main()
{
    int sum;
    int N, num, res0 = 0, p0 = 0, part;
    int proc, sizeprocs;
    float timer_on, timer_off;
 
    printf("Please type the maximal number: ");
    scanf("%ld", &N);
 
    timer_on = clock();
 
    MPI_Status status;
 
    MPI_Init(0, 0);
    MPI_Comm_rank (MPI_COMM_WORLD, &proc);
    MPI_Comm_size (MPI_COMM_WORLD, &sizeprocs);
 
    int res, r = 0, power, p;
    part = N/sizeprocs;
 
    if (proc > 0)
    {
        for (int i = part*(proc-1)+1; i<=proc*part; i++)
        {
            res = r;
            r = CheckIfSatisfies(i, p);
            if (r > res)
            {
                res = r;
                power = p;
            }
        }
        MPI_Send(&res, 1, MPI_INT, 0, proc, MPI_COMM_WORLD);
        MPI_Send(&power, 1, MPI_INT, 0, proc, MPI_COMM_WORLD);
    }
 
    if (proc == 0)
    {
        for (int i = 1; i <= sizeprocs; i++)
        {
            MPI_Recv(&res, 1, MPI_INT, MPI_ANY_SOURCE, i, MPI_COMM_WORLD, &status);
            MPI_Recv(&power, 1, MPI_INT, MPI_ANY_SOURCE, i, MPI_COMM_WORLD, &status);
            if (res > res0) {res0 = res; p0 = power;}
        }
        timer_off = clock();
        sum = Sum(res0);
        printf("Typed number: %d \nFound number: %d \n\n",N,res0);
        printf("%d = %d^%d\n\n",res0,sum,p0);
        printf("Time has passed: %f seconds \n\n", (timer_off-timer_on)/CLOCKS_PER_SEC);
    }
 
    MPI_Finalize();
    return 0;
}
Компилируется без проблем. Вроде ничего не упустил, а mpiexec повисает, а когда прекращаешь выполнение (кнопка break)выдает ошибку:

op_read error on parent context: Error = -1

unable to read the cmd header on the parent context, Error = -1
.
connection to my parent broken, aborting.
state machine failed.


При этом другие простые приложения запускаются без помех.

Подскажите, пожалуйста, в чем дело?

Добавлено через 17 часов 59 минут
Вопрос решен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru