2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Определение коммуникаторов для процесса в MPI.
Сообщение06.06.2010, 00:39 


05/06/10
5
Вопрос знатокам MPI - возможно ли из процесса узнать, в каких коммуникаторах он состоит? Если возможно, то как?

Вопрос вызван следующей проблемой: коммуникатор с трехмерной декартовой топологией "режется" на коммуникаторы с одномерной топологией по одной из размерностей с помощью функции MPI_Cart_sub. При этом, в адресном пространстве каждого из процессов (функция MPI_Cart_sub не локальная), помещается массив новых одномерных коммуникаторов (output аргумент MPI_Cart_sub). Далее для каждого из новых коммуникаторов необходимо выполнить функцию MPI_Reduce, НО - непонятно в каком именно из созданных коммуникаторов оказывается текущий процесс и, как следствие, непонятно на каком коммуникаторе вызывать, собственно, эту самую MPI_Reduce.

Не хотелось бы искать для каждого процесса в списке новых коммуникаторов (он может получаться довольно объемистым) тот, в который данный процесс попал при делении исходного коммуникатора и уже потом вызывать на нем MPI_Reduce. Также не хотелось бы в каждом процессе вызывать MPI_Reduce подряд для всех новых коммуникаторов. Можно ли обойтись без этого?

 Профиль  
                  
 
 Re: Определение коммуникаторов для процесса в MPI.
Сообщение07.06.2010, 00:39 


05/12/08
12
MPI_Cart_coord? MPI_Card_rank? не подойдут

 Профиль  
                  
 
 Re: Определение коммуникаторов для процесса в MPI.
Сообщение07.06.2010, 16:21 


05/06/10
5
Эти функции, в качестве первого параметра, принимают коммуникатор, в котором необходимо определить координаты вызывающего процесса по рангу или его ранг по координатам. Но его то как раз я и не знаю - у меня есть только большой массив коммуникаторов в каждом из процессов и каждый процесс содержится в каком-то одном из этих коммуникаторов. Как понять в каком, без перебора всех коммуникаторов в массивчике? Вот в чем вопрос.

 Профиль  
                  
 
 Re: Определение коммуникаторов для процесса в MPI.
Сообщение08.06.2010, 12:00 


05/06/10
5
Вопрос снимается - я, по своему невниманию и глупости, решил, что третий аргумент MPI_Cart_sub есть массив новых коммникаторов, когда на самом деле третий аргумент - это как раз коммуникатор, из вновь созданных, который содержит текущий процесс.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group