[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