1. 21 Jan, 2014 1 commit
  2. 09 Jan, 2014 1 commit
  3. 08 Jan, 2014 2 commits
    • Su Huang's avatar
      PAMID: fixes for MPI_Win_* · 31ac6f01
      Su Huang authored and Pavan Balaji's avatar Pavan Balaji committed
      
      
      PAMID: fixes for RMA shared related, lock_all and unlock_all functions
      
      The following has been updated:
      - MPID_Win_allocated_shared
      - MPID_Win_shared_query
      - several functions in mpid_win_lock_all.c, mpid_win_lock.c, mpid_win_free.c and
        structures in mpidi_onesided.h, mpidi_datatypes.h have been modified for
        scalability support for MPID_Win_lock_all() and MPID_Win_unlock_all()
      
      PAMID: fix MPID_Win_allocate_shared, MPID_Win_lock_all/unlock_all and MPID_Win_shared_query
      
      Add changes based on code review feedback from the team:
      1) update getPageSize to ensure that the pagesize is obtained from the range of
         passed in address.
      2) don't call dispatcher if lockQ[index].done == 1
         if (!lockQ[index].done)
           MPID_PROGRESS_WAIT_WHILE(lockQ[index].done == 0);
      3) in mpid_win_shared_query()
         replace
           MPID_assert(win->create_flavor == MPI_WIN_FLAVOR_SHARED);
         by
           MPIU_ERR_CHKANDSTMT((win->create_flavor != MPI_WIN_FLAVOR_SHARED), mpi_errno,
                               MPI_ERR_RMA_FLAVOR, return mpi_errno, "**rmaflavor");
      3) some minor fixes.
      
      PAMID: modify MPI_Win_flush_local, MPI_Win_lock etc for better performance
      
      The current implementation for the subject mentioned function is to allocate
      two counters for each rank in the window group. The design could cause a scaling
      issue.  The fix is to update MPI_Win_flush_local etc with two counters per
      window approach.
      
      The changes also include the follwoing:
      - provides mutex_lock/mutex_unlock for atomic operations in shared window
      - fixes some bugs in handling shared window.
      - removes the shared segment with IPC_RMID in MPI_Win_free.
      
      PAMID: fixed base address for each rank in a window group
      
      For shared window, the base address for each rank should not be
      exchanged among ranks in a window group. Without the fix, the job
      will be terminated with segfault.
      
      (ibm) F189033
      (ibm) D194640
      
      Signed-off-by: default avatarMichael Blocksome <blocksom@us.ibm.com>
      31ac6f01
    • Pavan Balaji's avatar
      pamid is capable of supporting WIN_UNIFIED. · 399e5463
      Pavan Balaji authored
      
      
      Renamed WIN_SEPARATE to WIN_UNIFIED.  pamid's WIN_SYNC already does a
      full memory barrier, so we should be all set for UNIFIED support.
      
      Signed-off-by: default avatarMichael Blocksome <blocksom@us.ibm.com>
      399e5463
  4. 04 Dec, 2013 1 commit