Fixes to be able to compile MPICH testsuiteIn going down the rabbit hole of trying to get the MPICH testsuite to
compile/link using Open MPI main, a number of problems were uncovered.
These included:
- a missing MPI_T parameter concerning sessions
- problems with the way the new use mpi_f08 bindings were being generated for profiling interfaces
- fix problems with the MPI_(UN)PACK_EXTERNAL argument definitions
This PR addresses these p...
coll/tuned: Correct bound-checkCorrect bounds-check on collective id, which was previously off by
one. Fixes Coverity issues 1646445, 16464444, and 1646440.
Signed-off-by: Luke Robison <lrbison@amazon.com>
coll/tuned: Prevent memory leak during tuning-file read errorDuring a failed json tuning file read, it was possible to leak some
json structures. Explicitly destroy them all on any error path.
Fixes Coverity issues 1646446, 1646447, 1646441, and 1643439
Signed-off-by: Luke Robison <lrbison@amazon.com>
Parallel-Split MPI_Alltoall algorithm as part of acoll collective.-A new parallel-split algorithm for MPI_Alltoall is introduced as part
of acoll collective component, primarily targeting smaller message sizes
(<= 4KB). The algorithm, at a high level, operates by diving the ranks
into n groups, performing alltoall (using a base alltoall routine)
within the n groups in parallel, following which data is exchanged
between groups of n adjacent ranks (starting fro...
C interface templates - return MPI_Fint for c2fA bug was found with the c templates for the handle
conversion routines comm_c2f and win_c2f while working on
https://github.com/open-mpi/ompi/pull/13168
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
show_help: static string improvementsFix warnings from older C compilers that do not like literal strings
that are over 4095 characters line. Admittedly do this by hueristic:
make each line in a show_help INI help file be its own string (rather
than joining all the lines in a given [section] together). I.e.,
assume that each individual line is less than 4095 characters.
Also make a few other improvements:
* Remove an unused st...
use-mpi-f08: fix prototypes and moreIn the course of checking out a user reported problem:
https://www.mail-archive.com/users@lists.open-mpi.org//msg35382.html
it was discovered that many of the f08 entry points were improperly treating
'c' int args to the internal ompi*_f functions as fortran integers.
This commit fixes that and also addressed the problem reported by
the user. It was a special case where they were building ...
memchecker: fix some problems with arg checkingThe code which is conditionally compiled when Open MPI is configured with the
--enable-memchecker had some bugs. In particular the ompi_datatype_type_extent
function was being invoked for some rooted collectives for ranks where the
datatype being checked doesn't have to be defined. Also in certain cases
the wrong datatype (send,recv) was not being correctly checked.
These problems only show ...
Generate mpi_f08 bindings and add CFI supportThis updates fortran/use-mpi-f08 to generate most of the Fortran
bindings from a script and template files. It also adds support for
Fortran TS 29113 when possible, allowing for better Fortran array
handling that matches the standard.
The C files were imported from PR #10302 and converted to templates to
be fed into the binding script.
Co-authored-by: Gilles Gouaillardet <gilles@rist.or.jp>
C...
Generate interfaces for C with bigcountThis adds scripts for generating the C API bindings from template files,
while also generating bigcount interfaces for those that require them.
The binding script also include initial support for the mpi_f08 Fortran
bindings, but doesn't yet make any changes to fortran/use-mpi-f08
Python >=3.6 is required for running these scripts, which is only
necessary when the binding files have not alread...
Revert "fortran:fix integer kind=8 problem"turns out there's more to do here. many functions aren't actually
treating the string len arg correctly in the use-mpi-f08 folder
This reverts commit 32db65f768caebf4eb8c58420fc4ebe35a606111.
Remove Solaris-specific componentsWhile Solaris isn't officially dead, the last release was 6 years ago,
we have no test infrastructure and no real interest in Solaris. So
remove the Solaris-specific components.
Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Remove Altix-specific timer componentWe no longer have any Altix test machines and Altix is effectively
dead anyway, so remove the Altix-specific timer support. If there
are any Altix users out there, they'll fall back to the Linux
timers, which should work just as well.
Signed-off-by: Brian Barrett <bbarrett@amazon.com>
show_help: convert opal_show_[v]help back into a functionCommit a525e70f46b converted opal_show_[v]help into global function
pointer variables that were re-assigned a few times during the
lifecycle of an application. This allows calls top
opal_show_[v]help() to emit error messages different ways at different
times -- e.g., before various subsystems were initialized, after they
were initialized, and after they were shutdown.
Long ago, however, the s...
opal/util/show_help: slurp help text files into C codePer discussion from
https://github.com/open-mpi/ompi/wiki/Meeting-2025-03-14, we would
like to make relocating an Open MPI installation easier.
Specifically, text help files are something that Open MPI currently
has to find in the install tree filesystem at run-time.
If, instead, we can slurp these text files into C code, then there's
nothing to find at run time.
That being said, even with thi...
fortran:fix integer kind=8 problemuser reported problem on the ompi-users mail list.
https://www.mail-archive.com/users@lists.open-mpi.org//msg35382.html
Signed-off-by: Howard Pritchard <howardp@lanl.gov>