I actually have a use case where my library will attach many non-overlapping vm segments on demand to a single dynamic OMPI_Win_t object. With the current static limit, I would either have to increase it optimistically before startup or maintain a pool of dynamic win objects. However, other MPI implementations (Cray-MPI2.2, mvapich2) I tested do not appear to have this constraint.
Regards, Udayanga On Thu, Jan 10, 2019 at 4:09 AM Gilles Gouaillardet < gilles.gouaillar...@gmail.com> wrote: > Jeff, > > At first glance, a comment in the code suggests the rationale is to > minimize the number of allocations and hence the time spent registering the > memory. > > Cheers, > > Gilles > > Jeff Hammond <jeff.scie...@gmail.com> wrote: > Why is this allocated statically? I dont understand the difficulty of a > dynamically allocates and thus unrestricted implementation. Is there some > performance advantage to a bounded static allocation? Or is it that you > use O(n) lookups and need to keep n small to avoid exposing that to users? > > I have usage models with thousands of attached segments, hence need to > understand how bad this will be with Open-MPI (yes I can amortize overhead > but it’s a pain). > > Thanks, > > Jeff > > On Wed, Jan 9, 2019 at 8:12 AM Nathan Hjelm via users < > users@lists.open-mpi.org> wrote: > >> If you need to support more attachments you can set the value of that >> variable either by setting: >> >> Environment: >> >> OMPI_MCA_osc_rdma_max_attach >> >> >> mpirun command line: >> >> —mca osc_rdma_max_attach >> >> >> Keep in mind that each attachment may use an underlying hardware resource >> that may be easy to exhaust (hence the low default limit). It is >> recommended to keep the total number as small as possible. >> >> -Nathan >> >> > On Jan 8, 2019, at 9:36 PM, Udayanga Wickramasinghe <uswic...@iu.edu> >> wrote: >> > >> > Hi, >> > I am running into an issue in open-mpi where it crashes abruptly during >> MPI_WIN_ATTACH. >> > [nid00307:25463] *** An error occurred in MPI_Win_attach >> > [nid00307:25463] *** reported by process >> [140736284524545,140728898420736] >> > [nid00307:25463] *** on win rdma window 3 >> > [nid00307:25463] *** MPI_ERR_RMA_ATTACH: Could not attach RMA segment >> > [nid00307:25463] *** MPI_ERRORS_ARE_FATAL (processes in this win will >> now abort, >> > [nid00307:25463] *** and potentially your MPI job) >> > >> > Looking more into this issue, it seems like open-mpi has a restriction >> on the maximum number of segments attached to 32. (OpenMpi3.0 spec doesn't >> spec doesn't say a lot about this scenario --"The argument win must be a >> window that was created with MPI_WIN_CREATE_DYNAMIC. Multiple (but >> nonoverlapping) memory regions may be attached to the same window") >> > >> > To workaround this, I have temporarily modified the variable >> mca_osc_rdma_component.max_attach. Is there any way to configure this in >> open-mpi? >> > >> > Thanks >> > Udayanga >> > _______________________________________________ >> > users mailing list >> > users@lists.open-mpi.org >> > https://lists.open-mpi.org/mailman/listinfo/users >> >> _______________________________________________ >> users mailing list >> users@lists.open-mpi.org >> https://lists.open-mpi.org/mailman/listinfo/users > > -- > Jeff Hammond > jeff.scie...@gmail.com > http://jeffhammond.github.io/ > _______________________________________________ > users mailing list > users@lists.open-mpi.org > https://lists.open-mpi.org/mailman/listinfo/users
_______________________________________________ users mailing list users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/users