Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MPI_Graph_create 
V
    Опции темы
kolorimage
Дата 12.5.2011, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.8.2009

Репутация: нет
Всего: нет



Всем привет smile!

У меня задание..
нужно средствами МРИ реализовать виртуальную топологию графу . Для каждой вершины графа определить количество и номера соседних вершин.
Решетка 2х3 с одной циклической связью.
Что и сделал:
Код

#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[])
{
 int i,
     rank,
nnodes = 6, / / кол-во вершин графа
index [6] = {3,6,13,21,28,35}, / / ​​и-й элемент показывает сумму степеней вершин графа от 0-вой к i-1 вершины
      edges [16] = {1,2,4, 0,3, 0,3,4, 1,2,5, 0,2,5, 3,4}, / / перечень соседних вершин
       nneighbors,
      neighbors [6],
       reorder = 1; / / параметр допустимости изменения нумерации процессов
MPI_Comm graph_comm;
MPI_Init(&argc, &argv);

MPI_Graph_create(MPI_COMM_WORLD, nnodes, index, edges, reorder, &graph_comm);

MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Graph_neighbors_count(graph_comm, rank, &nneighbors);
MPI_Graph_neighbors(graph_comm,  rank,  nneighbors, neighbors);

printf("I'm process #%i. I've got %i neighbors. They are: ", rank, nneighbors);

for(i=0;i<nneighbors;i++) printf(" %i",neighbors[i]);

printf(" \n");
fflush(stdout);

MPI_Finalize();
 return 0;
}

Но по какой то причине оно не работает...
Код
Fatal error in MPI_Graph_create: Invalid argument, error stack:
MPI_Graph_create(353): MPI_Graph_create(MPI_COMM_WORLD, nnodes=6, index=0x7ffff9e6b760, edges=0x7ffff9e6b700, reorder=1, comm_graph=0x7ffff9e6b778) failed
MPI_Graph_create(278): Edge index edges[34] is 4196512 but must be nonnegative and less than 6
APPLICATION TERMINATED WITH THE EXIT STRING: Hangup (signal 1)


В чем может быть проблема?

Это сообщение отредактировал(а) kolorimage - 12.5.2011, 19:07
PM MAIL WWW   Вверх
borisbn
Дата 13.5.2011, 10:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(kolorimage @  12.5.2011,  19:06 Найти цитируемый пост)
index [6] = {3,6,13,21,28,35}

если у тебя в index лежат такие значения, то в edges должно быть
3 + (6-3) + 13 - (13-6)... элементов, а у тебя там всего 16. Вот ф-ция MPI_Graph_create и ругается:
Цитата(kolorimage @  12.5.2011,  19:06 Найти цитируемый пост)
MPI_Graph_create(278): Edge index edges[34] is 4196512 but must be nonnegative and less than 6

см. пример тут


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
kolorimage
Дата 13.5.2011, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.8.2009

Репутация: нет
Всего: нет



borisbn, лучшего ответа я еще не видел))  smile 
Спасибо!
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0790 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.