Re: implementing new GASNet conduit: gasnetc_bootstrapExchange

From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Thu Jul 24 2008 - 12:31:27 PDT

  • Next message: Paul H. Hargrove: "Re: issue with smp on x86 32b platform"
       The gasnetc_bootstrap*() routines are used to perform collective-type 
    operations at startup time for such things as communicating the segment 
    address and lengths.  These are for *interal* use and not documented in the 
    specification.  The implementations don't need to be high performance because 
    they are used only for startup and/or shutdown code.
       You will find that the gasnetc_boostrap*() functions are implemented in 
    terms of MPI calls in the file 
    gasnet/other/mpi-spawner/gasnet_bootstrap_mpi.c.  Assuming that you know MPI 
    (or have access to the MPI spec) that is probably the most formal definition 
    available of these functions.
       Note that bootstrapAlltoAll defined in gasnet_bootstrap_mpi.c is currently 
    only used in the vapi-conduit code, and is not required otherwise.  SImilarly, 
    the bootstrapInit and bootstrapFini defined there are useful only if one is 
    using mpirun to spawn GASNet jobs.
       Let us know if you have any more questions.
    George Caragea wrote:
    > Hi all,
    > I've been trying to implement a new GASNet conduit for a research 
    > multi-core platform which uses a proprietary message-passing interface 
    > for communication. I followed the instructions found under 
    > template-conduit to get started.
    > However, I am a bit puzzled about one item in the  gasnet_core.c file 
    > carried over from the template. There is mention about providing the 
    > gasnetc_bootstrapExchange() function, which is required for using 
    > gasneti_segmentInit() and other functions. However, I haven't been able 
    > to find any specification on *what* the gasnetc_bootstrapExchange() 
    > function should do, and it is not entirely clear to me from the 
    > prototype or after examining other implementations.
    > Can anyone please clarify or point me in the right direction to 
    > understand what that function should actually do?
    > Also, besides the documentation in the source tree, and the GASNet 
    > specification document, what other resources could I use in terms of 
    > helping me implement a new GASNet conduit?
    > Thank you,
    > George
    Paul H. Hargrove                          PHHargrove_at_lbl_dot_gov
    Future Technologies Group
    HPC Research Department                   Tel: +1-510-495-2352
    Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

  • Next message: Paul H. Hargrove: "Re: issue with smp on x86 32b platform"