Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] SNAPC: dynamic send buffers
From: Josh Hursey (jjhursey_at_[hidden])
Date: 2014-01-29 15:30:31


Looks good to me too.

On Wed, Jan 29, 2014 at 11:00 AM, Ralph Castain <rhc_at_[hidden]> wrote:

> Looks good to me!
>
> On Jan 29, 2014, at 8:52 AM, Adrian Reber <adrian_at_[hidden]> wrote:
>
> > Thanks for pointing out orte_rml_recv_callback(). It does just what I
> > need. I removed my own callback and I am now using
> orte_rml_recv_callback()
> >
> > I have extended the patches to fix the usage of static buffers
> > in SNAPC and SSTORE as well as removing all remaining occurrences
> > of TODOs in my 'getting-it-compiled-again' patches. The following
> > patches are ready to be committed:
> >
> > 2c69cdb SNAPC/CRCP/SSTORE: remove compiler warnings
> >
> https://lisas.de/git/?p=open-mpi.git;a=commitdiff;h=2c69cdbf3ab9ebcb8c05540ed8807faa3db25203
> >
> > e60592b SNAPC: use ORTE_WAIT_FOR_COMPLETION with non-blocking receives
> >
> https://lisas.de/git/?p=open-mpi.git;a=commitdiff;h=e60592b629a8328538a2d752e0ec4b639a125465
> >
> > 17147ae SSTORE/CRCP: use ORTE_WAIT_FOR_COMPLETION with non-blocking
> receives
> >
> https://lisas.de/git/?p=open-mpi.git;a=commitdiff;h=17147aeb4b9b9d20133be1807ee3369c788fe923
> >
> > ea3891e SSTORE: use dynamic buffers for rml.send and rml.recv
> >
> https://lisas.de/git/?p=open-mpi.git;a=commitdiff;h=ea3891ef9d095cfa40ade03fd676a1d61c932e5f
> >
> > 02c05d2 SNAPC: use dynamic buffers for rml.send and rml.recv
> >
> https://lisas.de/git/?p=open-mpi.git;a=commitdiff;h=02c05d2685dc111919c63936acdaf4a594da0fa0
> >
> >
> > On Tue, Jan 28, 2014 at 08:01:53AM -0800, Ralph Castain wrote:
> >> This looks okay to me. Couple of comments:
> >>
> >> 1. if you don't want to create your own callback function, you can use
> the standard one. It does more than you need, but won't hurt anything:
> >>
> >> ORTE_DECLSPEC void orte_rml_recv_callback(int status,
> orte_process_name_t* sender,
> >> opal_buffer_t *buffer,
> >> orte_rml_tag_t tag, void
> *cbdata);
> >>
> >> The code is in orte/mca/rml/base/rml_base_frame.c
> >>
> >> 2. be aware that ORTE_WAIT_FOR_COMPLETION will block if you are in an
> RML callback. I don't think that's an issue here, but just wanted to point
> it out.
> >>
> >> Ralph
> >>
> >> On Jan 27, 2014, at 8:12 AM, Adrian Reber <adrian_at_[hidden]> wrote:
> >>
> >>> I have the following patches which I would like to commit. All changes
> >>> are in the SNAPC component. The first patch replaces all statically
> >>> allocated buffers with dynamically allocate buffers. The second patch
> >>> removes compiler warnings and the last patch tries to re-introduce
> >>> functionality which I removed with my 'getting-it-compiled-again'
> >>> patches. Instead of blocking recv() calls it now uses
> >>> ORTE_WAIT_FOR_COMPLETION(). I included gitweb links to the patches.
> >>>
> >>> Please have a look at the patches.
> >>>
> >>> Adrian
> >>>
> >>> commit 6f10b44499b59c84d9032378c7f8c6b3526a029b
> >>> Author: Adrian Reber <adrian.reber_at_[hidden]>
> >>> Date: Sun Jan 26 12:10:41 2014 +0100
> >>>
> >>> SNAPC: use dynamic buffers for rml.send and rml.recv
> >>>
> >>> The snapc component was still using static buffers
> >>> for send_buffer_nb(). This patch changes opal_buffer_t buffer;
> >>> to opal_buffer_t *buffer;
> >>>
> >>> orte/mca/snapc/full/snapc_full_app.c | 119
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------
> >>> orte/mca/snapc/full/snapc_full_global.c | 73
> ++++++++++++++++++++++++++++++++++++------------------------------------
> >>> orte/mca/snapc/full/snapc_full_local.c | 33
> +++++++++++++++++++--------------
> >>> 3 files changed, 114 insertions(+), 111 deletions(-)
> >>>
> >>>
> https://lisas.de/git/?p=open-mpi.git;a=commitdiff;h=6f10b44499b59c84d9032378c7f8c6b3526a029b
> >>>
> >>> commit 218d04ad663ad76ad23cd99b62e83c435ccfe418
> >>> Author: Adrian Reber <adrian.reber_at_[hidden]>
> >>> Date: Mon Jan 27 12:49:30 2014 +0100
> >>>
> >>> SNAPC: remove compiler warnings
> >>>
> >>> orte/mca/snapc/full/snapc_full_global.c | 19 +++++--------------
> >>> orte/mca/snapc/full/snapc_full_local.c | 29
> ++++++-----------------------
> >>> 2 files changed, 11 insertions(+), 37 deletions(-)
> >>>
> >>>
> https://lisas.de/git/?p=open-mpi.git;a=commitdiff;h=218d04ad663ad76ad23cd99b62e83c435ccfe418
> >>>
> >>> commit 67d435cbe5df5c59519d605ce25443880244d2d5
> >>> Author: Adrian Reber <adrian.reber_at_[hidden]>
> >>> Date: Mon Jan 27 14:31:36 2014 +0100
> >>>
> >>> use ORTE_WAIT_FOR_COMPLETION with non-blocking receives
> >>>
> >>> During the commits to make the C/R code compile again the
> >>> blocking receive calls in snapc_full_app.c were
> >>> replaced by non-blocking receive calls with a dummy callback
> >>> function. This commit adds ORTE_WAIT_FOR_COMPLETION()
> >>> after each non-blocking receive to wait for the data.
> >>>
> >>> orte/mca/snapc/full/snapc_full_app.c | 56
> +++++++++++++++++---------------------------------------
> >>> 1 file changed, 17 insertions(+), 39 deletions(-)
> >>>
> >>>
> https://lisas.de/git/?p=open-mpi.git;a=commitdiff;h=67d435cbe5df5c59519d605ce25443880244d2d5
> >>> _______________________________________________
> >>> devel mailing list
> >>> devel_at_[hidden]
> >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> > _______________________________________________
> > devel mailing list
> > devel_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>

-- 
Joshua Hursey
Assistant Professor of Computer Science
University of Wisconsin-La Crosse
http://cs.uwlax.edu/~jjhursey