[mpich-discuss] Error: "MPIR_Get_contextid_sparse_group(1193): Too many communicators (0/2048)"
Ted Sariyski
tsariysk at craft-tech.com
Fri May 23 09:44:13 CDT 2014
I need a little bit more help. My question relates to the structure of
the array (referred below as A), for which a window object will be created.
Let say that particles are of type particle_t:
type particle_t
integer :: host, id,...
real,pointer :: data(:)=>null()
end type particle_t
I built two corresponding mpi types, one with data allocated,
/mpi_particles_t/, and /mpi_particles_null_t/, when p%data=>null().
What I want to do is the following:
1. All processes allocates an array of type particles_t for *all*
particles, but data is allocated only if a particle is assigned to
the domain:
/allocate(A(tot_num_particles))
do n=1,tot_num_particles
if ( particle(n)%host == myid)
allocate(particle(n)%data(data_size))
enddo/
2. All processes create their mpi data type mpi_A_t:
/do n=1//,//tot_num_particles//
//if ( particle(n)%host == myid) then //
// blockcounts(n) = 1 ; oldtypes(n) = mpi_particles_t//
// else //
// blockcounts(n) = 1 ; oldtypes(n) =
mpi_particles_null_t//
/ / endif/
/ call MPI_GET_ADDRESS(A(n), offsets(n), ierr)//
// enddo/
/call
mpi_type_create_struct(//tot_num_particles//,blockcounts,offsets,oldtypes,mpi_A_myid_t,ierr)//
// call mpi_type_commit(mpi_A_myid_t,ierr)
/I gave a try but it fails. Before I proceed I want to make sure that
there is nothing fundamentally wrong with this approach. Besides, even
if it is correct, I am not sure that this is the 'best' solution. I will
highly appreciate your comments.
Thanks in advance,
--Ted
/
///
On 05/22/2014 03:31 PM, Ted Sariyski wrote:
> I see. Thanks a lot.
> --Ted
>
>
> On 05/22/2014 03:15 PM, Rajeev Thakur wrote:
>>> What do you mean with: "Why can’t all processes open one large
>>> window?" I guess I miss something.
>> If each process has an array of objects that belong to it (called
>> array A say) , then with a single call to MPI_Win_create you can
>> create a window object that has everyone's A arrays in it.
>>
>> Rajeev
>>
>>
>>
>> On May 22, 2014, at 9:46 AM, Ted Sariyski <tsariysk at craft-tech.com>
>> wrote:
>>
>>> It is about MPI_win. Here is the problem as it relates to MPI (it is
>>> a Boltzmann type equation).
>>>
>>> There are N particles interacting with each other. Interaction is
>>> directional, so that a particle interacts only with those particles,
>>> which are within a narrow cone. The first step is to segregate the
>>> initial set of N particles into subsets of particles (I called it
>>> 'objects'), which interact with each other. Here is what I do:
>>> • Assign each object to a process.
>>> • The process which owns a object:
>>> • Makes a guess for the maximum number of particles expected
>>> in this object.
>>> • Allocates memory for it.
>>> • Opens a shared window.
>>> • All processes
>>> • Each particle identify which object it belongs to, and
>>> PUTs its data there.
>>> • After assembly is done, objects are passed to a solver.
>>> • Repeat
>>> What do you mean with: "Why can’t all processes open one large
>>> window?" I guess I miss something.
>>> Thanks,
>>> --Ted
>>>
>>>
>>> On 05/21/2014 11:03 PM, Balaji, Pavan wrote:
>>>> On May 21, 2014, at 6:02 PM, Ted Sariyski <tsariysk at craft-tech.com>
>>>> wrote:
>>>>
>>>>> Memory limitations. With one large window all processes have to
>>>>> allocate memory for the objects they own as well as for objects
>>>>> assigned to other process.
>>>>>
>>>> Are we talking about the same thing here? I’m referring to an
>>>> MPI_Win. What objects do processes need to keep track of?
>>>>
>>>> — Pavan
>>>>
>>>> _______________________________________________
>>>> discuss mailing list
>>>> discuss at mpich.org
>>>>
>>>> To manage subscription options or unsubscribe:
>>>>
>>>> https://lists.mpich.org/mailman/listinfo/discuss
>>> _______________________________________________
>>> discuss mailing list discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>> _______________________________________________
>> discuss mailing list discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20140523/da5f8e02/attachment.html>
More information about the discuss
mailing list