1. 31 Oct, 2013 8 commits
    • Rob Latham's avatar
      datatype_size no longer needs to be an integer · e192ccc5
      Rob Latham authored and Pavan Balaji's avatar Pavan Balaji committed
      
      
      MPIO_CHECK_COUNT_SIZE was designed to ensure "count*datatype_size" did
      not overflow integers.  Well, I've done my best to relax that need
      throughout MPICH, so the cast to unsigned is not needed.
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
      e192ccc5
    • Rob Latham's avatar
      implement MPIU_Assign_trunc without _Generic · 615d1acb
      Rob Latham authored and Pavan Balaji's avatar Pavan Balaji committed
      
      
      The test suite has failures like this:
      
      Assertion failed in file
      /home/robl/work/mpich/src/mpid/ch3/src/ch3u_rma_ops.c at line 552
      : ((dloop_vec[i].iov_len)/type_size) >= expr_inttype_min(count)
      
      Even though dloop_vec[i].iov_len is 4, type_size is 4, and
      expr_inttype_min(count) is -INT_MAX, this assertion is still failing.
      
      while the _Generic-based test was giving strange assertion failures, the
      cast-and-compare version still works and should be used.
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
      615d1acb
    • Rob Latham's avatar
      resized wasn't setting max_contig_count · e6962c16
      Rob Latham authored and Pavan Balaji's avatar Pavan Balaji committed
      
      
      Not much in MPICH consults the max_contig_count field of the datatypes,
      except ROMIO.  Resized types were reporting "huge negative number" for
      the count of contiguous blocks because datatype code wasn't setting the
      max_contig_count member.  Why 3?  The lower bound and upper bound parts
      of the datatype, while not actually data or blocks, are effectively
      blocks for the purposes of the one client of this code -- the ROMIO
      datatype flattening code.
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
      e6962c16
    • Rob Latham's avatar
      More ROMIO updates for large count · d4e6334c
      Rob Latham authored
      
      
      When flattening a datatype, be mindful of overflowing integers
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
      d4e6334c
    • Rob Latham's avatar
      Increase size of internal datatype values · c66f9012
      Rob Latham authored
      
      
      Trying to find all places in the datatype/dataloop code that put size of
      datatype into an integer.  It's easy, even under MPI-2, to describe more
      than an integers worth of data with an MPI datatype.
      
      since Dataloop code calls other dataloop code, just go ahead and make
      everything a DLOOP_Count type
      
      Fixes #1890
      Fixes #1893
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
      c66f9012
    • Rob Latham's avatar
      ROMIO: improve handling of large datatypes · e527fa1d
      Rob Latham authored
      
      
      MPI-3 introduced MPI_Count and MPI_Type_size_x.  Use these new routines
      throughout ROMIO to support large datatypes.
      
      Still to do:
      - update other ADIO drivers
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
      e527fa1d
    • Rob Latham's avatar
      Configure check for (need for) header padding · e518cb4c
      Rob Latham authored
      
      
      Dancing around with various schemes to detect/deal-with compiler padding
      in structs so the 'payload' field ends up double-aligned.  The new
      "large type , large count" work introduced a pointer into the nemisis
      packet, so we have to be a bit more dynamic about how or if we pad out
      the structure.
      
      - put the members of MPID_nem_pkt_header inside a struct, so subsequent
        payload does not "fall into" compiler-introduced padding
      - use this updated datatype to determine the size, and if we need to pad
        or not.
      - use the result of the configure test to introduce padding, or omit the
        padding from the definition if the amount of padding is '0'
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
      e518cb4c
    • Dave Goodell's avatar
      large count work: use MPI_Aint for dtype size and collectives · d1bf4161
      Dave Goodell authored and Rob Latham's avatar Rob Latham committed
      
      
      Also includes random fixes to `-Wshorten-64-to-32` warnings which might
      need to be teased out.
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
      d1bf4161
  2. 29 Oct, 2013 19 commits
  3. 27 Oct, 2013 3 commits
  4. 26 Oct, 2013 10 commits