On 10/16/2014 10:07 PM, Jaln wrote:
Hi,
How can I know the aggregator's rank in the collective I/O?
fd->hints->ranklist[] contains an array of MPI ranks assigned to an aggregator.
I also feel difficult to distinguish the aggregator and non-aggregator
in the ad_read_coll.c,
for example, in function ADIOI_R_Exchange_data,
how can I know it is executed by a process or an aggregator?
I can only see how 'nprocs_for_coll' is used in partitioning the file
domain,
but couldn't see how it is used to tell the certain number of aggregator
to do the collective I/O.
I think you want to look at ADIOI_Calc_aggregator, which will report which MPI-IO aggregator is responsible for which regions of a file, and how much.
ADIOI_R_Exchange_data is called by every process. Some processes are receiving data from an aggregator, and aggregators are sending read data, but everyone participates.
Take a look earlier on: ADIOI_Calc_my_req and ADIOI_Calc_others_req are two of the routines responsible for generating the schedule of requests.
==rob
--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA
_______________________________________________
discuss mailing list discuss@mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss