On Apr 30, 2014, at 20:04 , Jeff Squyres (jsquyres) <jsquy...@cisco.com> wrote:
> All we need in usnic is the ompi_process_name_t of the local process leader. > However that happens is fine with me. :-) Why do you need the ompi_process_name_t? Isn’t the opal_identifier_t enough to dig for the info of the peer into the opal_db? George. > > > On Apr 30, 2014, at 6:46 PM, Ralph Castain <r...@open-mpi.org> wrote: > >> George makes a fair point - I was unaware they were hashing down to the >> opal_identifier_t. Only real requirement is that there be some way to reduce >> to 64-bits when accessing the common data. >> >> I think the usnic BTL may have an issue with that approach, so maybe some >> way of "unhashing" will be required? >> >> >> On Apr 30, 2014, at 3:42 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> >> wrote: >> >>> On Apr 30, 2014, at 6:35 PM, George Bosilca <bosi...@icl.utk.edu> wrote: >>> >>>> Puzzling. We survived so far without such a requirement. >>> >>> Ralph tells me that this is a requirement. So I figured we should check >>> for it. >>> >>>> In the BTLs where we needed a 64 bits entity corresponding to the >>>> ompi_process_name_t we took advantage of the ompi_rte_hash_name function. >>>> This function is supposed to convert from an ompi_process_name_t to a >>>> uint64_t (in fact an opal_identifier_t) which can be then used to handle >>>> hash tables. >>> >>> ...I don't really care, either way. I'll do whatever you guys tell me to >>> do here. :-) >>> >>> I put that assert there because Ralph told me it was a requirement, and I >>> now have code in the usnic BTL that is doing a memcpy from a union uint64_t >>> member to an ompi_process_name_t, and it assumes that the sizes are >>> guaranteed to be the same. >>> >>> If we want to do it some other way, that's fine with me, too. >>> >>> >>>> George. >>>> >>>> >>>> On Apr 30, 2014, at 18:12 , svn-commit-mai...@open-mpi.org wrote: >>>> >>>>> Author: jsquyres (Jeff Squyres) >>>>> Date: 2014-04-30 18:12:54 EDT (Wed, 30 Apr 2014) >>>>> New Revision: 31577 >>>>> URL: https://svn.open-mpi.org/trac/ompi/changeset/31577 >>>>> >>>>> Log: >>>>> rte_base_frame.c: add sanity check to ensure proper sizes >>>>> >>>>> There's a requirement in several places (e.g., opal dstore) that >>>>> sizeof(ompi_process_name_t) -- which comes from the compile-time >>>>> selected ompi/mca/rte component -- is equal to sizeof(uint64_t). If >>>>> it's not, Bad Things will happen. >>>>> >>>>> So put an assert here to catch that case. >>>>> >>>>> Text files modified: >>>>> trunk/ompi/mca/rte/base/rte_base_frame.c | 10 +++++++++- >>>>> >>>>> 1 files changed, 9 insertions(+), 1 deletions(-) >>>>> >>>>> Modified: trunk/ompi/mca/rte/base/rte_base_frame.c >>>>> ============================================================================== >>>>> --- trunk/ompi/mca/rte/base/rte_base_frame.c Wed Apr 30 18:10:30 >>>>> 2014 (r31576) >>>>> +++ trunk/ompi/mca/rte/base/rte_base_frame.c 2014-04-30 18:12:54 EDT >>>>> (Wed, 30 Apr 2014) (r31577) >>>>> @@ -1,6 +1,7 @@ >>>>> /* >>>>> * Copyright (c) 2012-2013 Los Alamos National Security, LLC. >>>>> * All rights reserved. >>>>> + * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. >>>>> * $COPYRIGHT$ >>>>> * >>>>> * Additional copyrights may follow >>>>> @@ -12,6 +13,7 @@ >>>>> #include "ompi_config.h" >>>>> #include "ompi/constants.h" >>>>> >>>>> +#include "opal_stdint.h" >>>>> #include "opal/util/output.h" >>>>> #include "opal/mca/mca.h" >>>>> #include "opal/mca/base/base.h" >>>>> @@ -36,7 +38,13 @@ >>>>> static int ompi_rte_base_open(mca_base_open_flag_t flags) >>>>> { >>>>> /* Open up all available components */ >>>>> - return mca_base_framework_components_open(&ompi_rte_base_framework, >>>>> flags); >>>>> + int ret = >>>>> mca_base_framework_components_open(&ompi_rte_base_framework, flags); >>>>> + >>>>> + /* Sanity check. Many things will break if this is not true >>>>> + (e.g., opal dstore needs this to be true). */ >>>>> + assert(sizeof(ompi_process_name_t) == sizeof(uint64_t)); >>>>> + >>>>> + return ret; >>>>> } >>>>> >>>>> MCA_BASE_FRAMEWORK_DECLARE(ompi, rte, "OMPI Run-Time Environment >>>>> Interface", NULL, >>>>> _______________________________________________ >>>>> svn mailing list >>>>> s...@open-mpi.org >>>>> http://www.open-mpi.org/mailman/listinfo.cgi/svn >>>> >>>> _______________________________________________ >>>> devel mailing list >>>> de...@open-mpi.org >>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>> Link to this post: >>>> http://www.open-mpi.org/community/lists/devel/2014/04/14663.php >>> >>> >>> -- >>> Jeff Squyres >>> jsquy...@cisco.com >>> For corporate legal information go to: >>> http://www.cisco.com/web/about/doing_business/legal/cri/ >>> >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> Link to this post: >>> http://www.open-mpi.org/community/lists/devel/2014/04/14664.php >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/04/14667.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/04/14668.php