Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: STEllAR-GROUP/hpx
base: 9467da7ecf56^
Choose a base ref
...
head repository: STEllAR-GROUP/hpx
compare: 51d46ca7a95c
Choose a head ref
  • 15 commits
  • 50 files changed
  • 1 contributor

Commits on Jul 21, 2017

  1. Configuration menu
    Copy the full SHA
    9467da7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3ceabdb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1d54904 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    62f5595 View commit details
    Browse the repository at this point in the history
  5. Adding rma namespace and adding support for rma_object and is_rma_eli…

    …gible traits
    
    Moving lots of rma memory registration code into the rma namespace and
    out of the parcelport subdirectories.
    
    An rma_object is any type that has a contiguous memory layout and can in
    principle be a source or destination of rma read/write type operations.
    
    is_rma_eligible is a trait that is used to enable rma creation of a
    type.
    
    rma_object provides a wrapper (like shared_ptr) around a T, creation
    of an rma_object must be via the make_rma_object(...) function which
    will use the rma allocator provided by the parcelport layer (currently
    the default parcelport, though this will be extended to take a locality
    ID to ensure that the correct parcelport is used for a given
    destination).
    
    Currently rma_object supports only simple T types, vectors of T and
    arrays of T.
    
    Provide allocator support for STL (vector) using
    rma_object<std::vector<T, rma_allocator<T>>>
    biddisco committed Jul 21, 2017
    Configuration menu
    Copy the full SHA
    65ac2e8 View commit details
    Browse the repository at this point in the history
  6. RMA vector and serialization of vector<T, rma::allocator<T>>

    Improve allocator to make vector work with rma::allocator
    and provide a specializtion of the serialization layer that
    produces an rma_chunk - same as binary chunk but including
    the rma remote key.
    
    Added new rma chunk type to serialization layer
    biddisco committed Jul 21, 2017
    Configuration menu
    Copy the full SHA
    2720b35 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4d42fc5 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    75d3a18 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2b6bec1 View commit details
    Browse the repository at this point in the history
  10. Debug messages

    biddisco committed Jul 21, 2017
    Configuration menu
    Copy the full SHA
    a8f0ebc View commit details
    Browse the repository at this point in the history
  11. Fix a few compiler warnings in libfabric parcelport

    flyby : fix boost linking when logging enabled after recent changes
    to boost/cmake setup
    biddisco committed Jul 21, 2017
    Configuration menu
    Copy the full SHA
    b611f2d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    2662c2f View commit details
    Browse the repository at this point in the history
  13. Add rma::rma_vector and serialization support

    rma_vector is a replace meant for vector/serialize_buffer that
    can be used to allocate memory directly from the parcelport and
    used in remote actions without incurring memory copy costs.
    
    rma_vector stores its data in a shared refcounted object that
    is cleaned up when released by all users. This allows return types
    to be handed over to the parcelport if necessary and keep zero-copy
    semantics.
    
    A number of allocator related changes to support rma_vector
    requests.
    
    Serialization support for rma_vector revealed some problems with
    the archive buffer size calculation that are fixed in this commit.
    biddisco committed Jul 21, 2017
    Configuration menu
    Copy the full SHA
    251f013 View commit details
    Browse the repository at this point in the history
  14. Fix handling of rma region being passed from receive into user args

    change rma serialization chunk to contain memory region or remote key:
    This enables memory regions to be passed from the rma chunk receiver
    back into the user's code inside rma vectors or rma objects.
    The remote key is sufficient to perform rma, but for lifetime
    management of the rma memory chunks, we must have access to the
    region itself.
    
    Cleanup size calculations in rma_vector to account for sizeof(T)
    Add rma_vector assignment from rma chunk (after deserialization)
    
    Cleanup usage of rma/pointer serialization chunks.
    biddisco committed Jul 21, 2017
    Configuration menu
    Copy the full SHA
    80cfc9a View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    51d46ca View commit details
    Browse the repository at this point in the history