- 31 Oct, 2013 16 commits
-
-
MPI_Pack, MPI_Unpack, and MPI_Pack_size use integers to describe counts of bytes and posistions in a bytestream. In a world of 2 GiB+ datatypes, this is not correct. It will take an army to change the standard, but we can at least do the right thing internally. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
MPIR_Type_get_contig_blocks is buggy for certain datatypes (example: HDF5 multi-dataset IO generated type results in a contig block count of 5 billion. should be more like 200). Nothing uses this function except ROMIO's flattening code. I'd like to see profiling suggesting the count of contiguous blocks is a profitable short-circuit before spending a ton of time debugging it. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
clang carped about too many parens around (( a == b)) Fixes #1929 Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
formatting fixes and type promotions to chip away at the 1500 lines of warnings that pop up with clang's -Wshorten-64-to-32 flag. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
goal: make MPICH count-safe problem: casting to int when value exceeds INT_MAX solution: remove all "(int)" in front of values assigned to the count field Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
strlen returns size_t. since the return argument is localized, there is no reason to not use the proper type to hold the result. Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
this internal-to-romio code was using 'ints' to store things like "datatype_size * count" calculation. Promote that and all called paths to ADIO_Offset Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
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 <balaji@mcs.anl.gov>
-
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 <balaji@mcs.anl.gov>
-
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 <balaji@mcs.anl.gov>
-
Rob Latham authored
When flattening a datatype, be mindful of overflowing integers Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
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 <balaji@mcs.anl.gov>
-
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 <balaji@mcs.anl.gov>
-
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 <balaji@mcs.anl.gov>
-
Also includes random fixes to `-Wshorten-64-to-32` warnings which might need to be teased out. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
- 29 Oct, 2013 19 commits
-
-
Pavan Balaji authored
No reviewer.
-
Pavan Balaji authored
No reviewer.
-
Pavan Balaji authored
We were downgrading void * content to int and then upgrading it back to an MPIR_Pint, losing bits in the process. This worked fine when Fint was just 4 bytes, but not when Fint was 8 bytes. Signed-off-by:
William Gropp <wgropp@illinois.edu>
-
Pavan Balaji authored
When freeing arrays, we were not checking for the case where the array might be set to MPI_WEIGHTS_EMPTY. Signed-off-by:
William Gropp <wgropp@illinois.edu>
-
Pavan Balaji authored
When MPI_Count was added to the status field, a bunch of bogus checks got added into configure and MPI_Init. This patch cleans up these checks. Signed-off-by:
William Gropp <wgropp@illinois.edu>
-
Pavan Balaji authored
An initial version of this patch was provided by Intel. Signed-off-by:
William Gropp <wgropp@illinois.edu>
-
Pavan Balaji authored
Based on an Intel contributed patch. The idea is to use the bits from the cancelled field to extend the count, rather than increasing the count datatype itself. Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov> Fixes to the bit manipulation based on feedback from Artem Yalozo @ Intel. Fixes to the naming convention based on feedback from Bill Gropp. Signed-off-by:
William Gropp <wgropp@illinois.edu>
-
Pavan Balaji authored
This reverts commit 81ad170b . Signed-off-by:
William Gropp <wgropp@illinois.edu>
-
This selects the buildiface option that specifies a specific ordering of the routines in mpicxx.h(.in) in order to provide ABI consistency. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
For MPICH builds, eliminate the C++ distgraphcomm test. In other cases test for presense of MPI::Distgraphcomm and only include the test if available. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Enhanced cxx/buildiface to output support for Distgraphcomm only if requested through the feature interface. Distgraphcomm was added only in MPI 2.2 and for historical reasons is not part of the MPICH ABI. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Improve buildiface for C++ to detect an unknown feature request with the -feature= option and abort. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
In support of the standard ABI, this change allows us to provide the Distgraphcomm support defined in MPI 2.2, as well as support the ABI, which only supports MPI 2.1. This change is not complete in itself; another commit is needed to select the ABI level in configure. Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Add a way to output the order of function output in mpicxx.h.in file and a way to read in a file specifying the order. This is used to meet ABI needs. Also fixed some old MPI_xxx vs MPI::xxx cases, and the almost duplicated Create_struct call. All in a single commit because the test was against the proposed ABI mpicxx.h.in file Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Since in mpich_cvars.h, we used a type MPIR_T_cvar_range_value_t, which is defined in mpitimpl.h. Fix #1953 Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
Junchao Zhang authored
The new init. priority order of MPICH cvars is MPICH_* < MPIR_PARAM_* < MPIR_CVAR_* Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-
The old code used (void*)(intptr_t)i to pass the thread id i. However intptr_t is C99, so I changed it to (void*)(long)i. Direct usage of (void*)i will issue a compilation warning saying it is dangerous to convert integer to pointer. Fixes #1956 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 27 Oct, 2013 3 commits
-
-
Pavan Balaji authored
Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
Pavan Balaji authored
We are calling the next release 3.1rc1. The ABI string has already been updated. No reviewer.
-
Pavan Balaji authored
No reviewer.
-
- 26 Oct, 2013 2 commits
-
-
Pavan Balaji authored
Some content was being printed even when not in verbose mode causing the test to incorrectly fail. Signed-off-by:
Junchao Zhang <jczhang@mcs.anl.gov>
-
Also change src/util/param/params.yml to src/util/cvar/cvars.yml, maint/genparams to maint/gencvars Signed-off-by:
Pavan Balaji <balaji@mcs.anl.gov>
-