"Hdf-forum on behalf of Aaron Friesz" wrote:

Hi Mark, Thanks for your response.

In terms of efficiency, since I will likely do output of this type several 
hundred or thousand times in a single run, I will end up defining a new MPI 
communicator with just the required processes.

Well, if you do that, *and* if you want to use only those processors to make 
HDF5 calls to create datasets *and* write data, then you will also need to 
*open* the HDF5 file with that new communicator.

I was just hoping that HDF5 could do it for me

Nope. Alas, HDF5 isn't going to help in creating MPI communicators for only 
those processors with data.


since writing code to determine which processes should participate, dataset 
sizes, etc is going to be tedious.

int haveData = 0;
MPI_Comm newComm;
/* set haveData to 1 if this proc has data */
MPI_Comm_split(MPI_COMM_WORLD, haveData, haveData, &newComm);

Now, newComm is a communicator which involves *only* the processors with data 
ordered in rank according to their old ranks.

--
Miller, Mark C.

"Those who would [, even temporarily,] sacrafice
essential liberties in the name of security deserve
neither." BF*
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to