[pooma-dev] Re: [PATCH] MPI support for SerialAsync scheduler

Jeffrey D. Oldham oldham at codesourcery.com
Tue Jan 6 18:36:23 UTC 2004


Richard Guenther wrote:
> Whoops, I just noticed I didn't answer one of your questions:
> 
> On Mon, 5 Jan 2004, Jeffrey D. Oldham wrote:
> 
> 
>>>   static std::list<RunnablePtr_t> workQueue_m;
>>>+#if POOMA_MPI
>>>+  static MPI_Request requests_m[1024];
>>
>>What is this fixed constant of 1024?  Does this come from the MPI standard?
>>
>>
>>>+  static std::map<int, IteratePtr_t> allocated_requests_m;
> 
> 
> Well - it's somewhat arbitrary, but with some reason.  First, with mpich
> an MPI_Request is an integer identifier, so 1024 requests will fill just a
> page of memory.  Second, the mpich library seems to use poll/select on
> distinct sockets for which 1024 seems an appropriate upper number.  Third,
> its about the number of in-flight requests I have with my 3d CFD code (but
> you may see we hard-limit here and wait for requests to finish at
> appropriate places).
> 
> So, I dont like having this magic number either, but for the MPI standard
> the requests need to be allocated continuously and we need _some_ limit.
> Once someone has a problem with this we could make it configurable, but I
> dont see the point at the moment.
> 
> Thus, ok again?

Let's move the magic constant into a const variable instead of having 
the constant scattered throughout the code.  Then, please commit.  Thanks.

-- 
Jeffrey D. Oldham
oldham at codesourcery.com




More information about the pooma-dev mailing list