1. 03 Sep, 2014 3 commits
    • Pavan Balaji's avatar
      Track external libraries separately instead of in LIBS. · 51db1a05
      Pavan Balaji authored
      
      
      The original MPICH code was directly adding external library
      dependencies into LIBS.  This forces configure to use these libraries,
      thus requiring the user to point to these libraries through
      LD_LIBRARY_PATH (for shared libraries).  This is unnecessary since
      those libraries are only needed when building the executables and not
      the rest of MPICH.
      
      Signed-off-by: Kenneth Raffenetti's avatarKen Raffenetti <raffenet@mcs.anl.gov>
      51db1a05
    • Min Si's avatar
      Added a test for flush on shared window. · f4518bf6
      Min Si authored
      
      
      Flush should guarantee operations are finished on both origin and target
      side. However, flush may return before the completion on target side in
      MPI implementation. It makes an error in this case: P0 and P1 allocate a
      shared window, and P2 locks both of them; P2 first put to P0 and flush,
      then get the updated data from P1. The put may complete on P0 after the
      completion of get on P1.
      
      Signed-off-by: default avatarXin Zhao <xinzhao3@illinois.edu>
      Signed-off-by: default avatarAntonio J. Pena <apenya@mcs.anl.gov>
      f4518bf6
    • Min Si's avatar
      Bug-fix: correct the behavior of flush in exclusively locked epoch. · 22924f35
      Min Si authored
      
      
      FLUSH should guarantee the completion of operations on both origin
      and target side. However, for exclusive lock, there is an optimization
      in MPICH which allows FLUSH to return without waiting for the
      acknowledgement of remote completion from the target side. It relys
      on the fact that there will be no other processes accessing the window
      during the exclusive lock epoch.
      
      However, such optimization is not correct when two processes allocating
      windows on overlapping SHM region. Suppose P0 and P1 (on the same node)
      allocate RMA window using the same SHM region, and P2 (on a different node)
      locks both windows. P2 first issues a PUT and FLUSH to P0, then issues
      a GET to P1 on the same memory location with PUT, since FLUSH does not
      guarantee the remote completion of PUT, GET operation may not get the
      updated value.
      
      This patch disables the optimization for FLUSH and forces FLUSH to always
      wait for the remote completion of operations.
      
      Signed-off-by: default avatarXin Zhao <xinzhao3@illinois.edu>
      Signed-off-by: default avatarAntonio J. Pena <apenya@mcs.anl.gov>
      22924f35
  2. 02 Sep, 2014 6 commits
  3. 01 Sep, 2014 1 commit
  4. 29 Aug, 2014 3 commits
  5. 28 Aug, 2014 2 commits
    • Antonio J. Pena's avatar
      Fixed hwloc compile warning · afa6e0c5
      Antonio J. Pena authored and Pavan Balaji's avatar Pavan Balaji committed
      
      
      Marked a variable as unused, since the variable is only being used for
      an assertion. This is less intrusive than enclosing the affected code
      within #ifdefs looking for the definition of the NDEBUG marco.
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
      afa6e0c5
    • Masamichi Takagi's avatar
      Use HCA when unlocking a lock variable for HCAs · 511e9a56
      Masamichi Takagi authored and Pavan Balaji's avatar Pavan Balaji committed
      Perform CAS on a lock variable for HCAs using IB HCA when unlocking it,
      not issue CPU store instruction on it, because CPU cannot safely unlock
      it since CAS with PCI device and CPU is not supported with the
      combination of Mellanox ConnectX-3 and Intel IvyBridge.
      511e9a56
  6. 27 Aug, 2014 8 commits
  7. 26 Aug, 2014 5 commits
  8. 25 Aug, 2014 7 commits
  9. 22 Aug, 2014 3 commits
  10. 21 Aug, 2014 2 commits