[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [pooma-dev] Re: [PATCH] MPI support for SerialAsync scheduler
From: |
Richard Guenther |
Subject: |
Re: [pooma-dev] Re: [PATCH] MPI support for SerialAsync scheduler |
Date: |
Mon, 5 Jan 2004 23:59:08 +0100 (CET) |
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.