|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.10.2012, 14:57 | #1 |
Пользователь
Регистрация: 09.10.2012
Сообщений: 47
|
Распараллеливание транспонирования матрицы
Здравствуйте! Не подскажите, в чем ошибка? Нужно транспонировать матрицу.
int main(int argc, char ** argv) { MPI_Init(&argc, &argv); int p; int rank; MPI_Comm_size(MPI_COMM_WORLD,&p); int A[p][p],B[p][p],C[p], D[p]; srand (time(NULL)); MPI_Comm_rank(MPI_COMM_WORLD, &rank); if (rank==0) { for (int i=0; i<p; i++) { for (int j=0; j<p; j++) { A[i][j]=rand()%100; cout<<A[i][j]<<" "; } cout<<endl; } } MPI_Scatter(&A,p,MPI_INT,&D,p,MPI_I NT,0,MPI_COMM_WORLD); MPI_Alltoall(&D,p,MPI_INT,&C,p,MPI_ INT,MPI_COMM_WORLD); MPI_Allgather(&C,p,MPI_INT,&B,p,MPI _INT,MPI_COMM_WORLD); for (int i=0; i<p; i++) { for (int j=0;j<p;j++) cout<<B[i][j]<<" "; cout<<endl; } MPI_Finalize(); getch(); return 0; } Массив С почему-то мусором заполняется.
There are 10 types of people: those who understand binary and those who don't.
|
23.10.2012, 16:30 | #2 |
Форумчанин
Регистрация: 27.09.2012
Сообщений: 175
|
Код:
|
24.10.2012, 12:53 | #3 |
Пользователь
Регистрация: 09.10.2012
Сообщений: 47
|
Спасибо) просто нужно распараллелить транспонирование матрицы, используя функцию MPI_Alltoall.
There are 10 types of people: those who understand binary and those who don't.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Распараллеливание программы (C++) | Lamaro | Помощь студентам | 5 | 04.10.2012 21:50 |
Распараллеливание процессов | Zooleen | Общие вопросы C/C++ | 0 | 16.06.2010 16:59 |
функция транспонирования матрицы,Builder C++ | lamer74 | Помощь студентам | 2 | 05.12.2009 17:23 |
функция транспонирования матрицы | lamer74 | Общие вопросы C/C++ | 0 | 05.12.2009 10:56 |
Функция транспонирования матрицы в C++ | Dront | Помощь студентам | 3 | 13.12.2007 11:03 |