[pooma-dev] Re: [PATCH] MPI support for SerialAsync scheduler
Richard Guenther
rguenth at tat.physik.uni-tuebingen.de
Mon Jan 5 22:59:08 UTC 2004
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?
Thanks,
Richard.
More information about the pooma-dev
mailing list