Commit 2686d1b
ABI: multiple fixes
git ignore additions
ABI library: don't include functions in 19.3.4/5
in the library as they are not part of the ABI.
fixes to handle count/offset/aint in abi.h
fix req converter abi to ompi
fix problem with request_get_status_some
bindings: fix up REQUEST_CONST for abi
tools: first steps to add support for ABI
Turns out that the ABI standard impacts MPI_T related constants, etc.
and we don't want to switch to this for our OMPI standard, so we need
to add support for MPI_T_ ABI compliant functions.
Additions to the binding infrastructure to support generation of ABI
bindings will be introduced in a subsequent commit.
fix problem with undefined symbols in libmpi_abi
hack on abi json file
The MPI_T source order and MPI_T cb named enum types
and their enum constants need special treatment.
Ultimately the tool used to generate this json file -
https://github.com/Joe-Downs/mpi-standard/blob/pr/handle-constant-tool/const-tool/test.py
needs to find a home either in the MPI standard or in the pympistandard repo or elsewhere.
abi.h template - add MPI_T related structs
binding framework: fixes for MPI T stuff
Add various MPI_T related structs to the manglizer.
Also more workarounds for pympistandard not knowing about
MPI 5.1 chapter sections 19.3.4 and 19.3.5 not being part
of the ABI standard.
binding framework: add a TS_LEVEL type
more hacks on the mpi-standard-5.0-abi.json
json file
fix for enable-mca-dso
makefile changes to add symbols to libmpi_abi
abi: fix problems with error handler converters
Fix problem with the abi -> ompi and ompi -> abi
converters for errhandler handles.
Also fix the bindings code where the original problem
was. We aren't using the bindings framework now to
generate the converters but we may possibly return
to that approach at some point so fix that code in
this commit.
fix problems with makefiles and some symbols
being doubly defined in the profile/non-profile abi mpi libs.
abi: move mpi_type_get_envelope etc. into templates
MPI_Type_get_envelop and MPI_Type_get_contents are a big
mess as the MPI Forum decided not just to add big variants
but also add additional arguments for the big count variants.
So this necessitated enhancements to the binding infrastructure
to support optional suppressing of bc and non-bc variants of
prototype files.
rebase fixup
add abi variantes of mpi_aint_diff and add
add abi_set/get_fortran_info
implementation of abi_set_fortran_info is not
complete.
abi_fortran_stuff: fix up the imp of these
abi_converters: add fortran datatypes to
the converters.
fix for mac-os CI
pr feedback on add/diff for aints
configury: discover fortran logical false
rather than assuming its '0'/
configury fix
for case of configure with fortran
abi_fortran: add support for LOGICAL16
logical16 patch
missed something
add comm_from/toint
simpler to hard code abi/ompi variants.
For ABI version add an offset to the values normally
used for original "f2c/c2f" ops to push the values normally
returned by "c2f" functions to be greater than any ABI
defined constants.
complete toint/fromint interfaces
basic implementation checks if constant is <= 16384
(the largest value reserved for mpi abi constants)
and returns the constant back or looks up the value
in the relevant array of pointers and offsets by 16385.
fix error return values for ABI routines
somehow was using the wrong converter to translate
ompi intern error values with abi ones.
Many are actually the same but that's just by chance.
minor fixup for toint/fromint
rebase fix
handle TAG more correctly
even though currently MPI_ANY_TAG is the same in ABI and OMPI
squash compiler warning
add hooks for TAG_OUT type
add better support for MPI_ROOT and source
since MPI_ROOT for ABI is not equal to ompi.
MPI_ANY_SOURCE is but still generate conversion code
rather than just beining lucky.
squash a compiler warning
this fix kind of messes up the indenter so the resulting line
in the generated code isn't nicely indented but that can be fixed later.
some fixes to comm attributes wrappers
also see about fixing an issue with some of the ompi
mca components when using --enable-mca-dso.
fix bug in comm attr copy code
some fixes for attributes and more
to start using the ompi-tests/ibm had to complete adding
MPI_T_ to the abi.
Also some other fixes.
Attributes still need more work.
checkpoint
many changes. go back to generating abi_converters.h
fix up tools for abi case, etc.
fix for datatype converters
distcheck fix
EVENT_INSTANCE: arg type cast fix
and add in a file that wasn't in the makefile!
MPI_ROOT: capture proc null type too
needed to get a lot of intercommunicator collectives to pass.
requests: fixes to some multirequest test functions
weights and source out support/fixes
fixes problems with dist graph constructors
and cart_shift output.
some fixes for message related functions
also add better support for the 'some' test/wait functions.
fix testall and startall
fix mpi4py break
fix a few problems with datatype bindings
add replacements to code bodies for various string lengths
We now scan the generated internal 'c' body of each
function for replaceable variants of
MPI_MAX_DATAREP_STRING
MPI_MAX_ERROR_STRING
MPI_MAX_INFO_KEY
MPI_MAX_INFO_VAL
MPI_MAX_LIBRARY_VERSION_STRING
MPI_MAX_OBJECT_NAME
MPI_MAX_PORT_NAME
MPI_MAX_PROCESSOR_NAME
MPI_MAX_STRINGTAG_LEN
MPI_MAX_PSET_NAME_LEN
This way the code body sees the same constant values as the
app sees using either the OMPI or ABI variants of the mpi.h
add support for distrib array and order
for subarray type datatype constructors
add support for mode bits - in only
add support for amode out
add support for whence
used by some MPI I/O functions
add support for some win attributes
handle special case of MPI_DISPLACEMENT_CURRENT
add support for combiner, typeclass, win lock assert
types
c_header: comment out deprecated functions
The ABI doesn't support any of the functions deprecated in MPI 3.1
or earlier. See section 20.2.1 of the MPI 5.0 standard.
fix problem with special attrs for windows
fix for win_shared_query
fixes to rget/rget_accumulate
fix problem with code gen for win create keyval
fix rank problem in rput/raccumulate
add MPI_GROUP_EMPTY to predefined group handles
handle user error classes and codes
temporary WAR for non-blocking alltoallw
variants.
We'll need to append the temporary arrays holding
translated datatype handles to the nbc request for
cleanup after the non-blocking op is completed or
the persistent request has been freed.
add support for comm topos
support INOUT attribute for all handles
thanks to dalcinl for help here
fix problem with attribute callback handling
need to convert the ompi internal keyval to abi one
before invoking user supplied callbacks for win, type, comm
catch use of special buffer consts
like MPI_BUFFER_AUTOMATIC
remove some debug statements
swat nit
patch get_address
add new type to handle out void stars
from buffer detach operations.
fixes for datatypes for neighbor collectives
add inouts for op, errhandler, info
cleanup datatype tmps for ialltoallw and friends
leverage nbc infrastructure
a logical16 fix
Thanks to dalcinl for finding.
abi_get_version/get_info add to ompi abi lib
and correction major/minor versoin returned from the ABI
build.
toint fixes
thanks to dalcinl !
fix issue with ASYNC data arrays cleanup
various fixes from dalcinl
ompi-codegen.patch from dalcinl
ompi-abiinfo.patch from dalcinl
ompi-status.patch from dalcinl
fixes to setting/getting status fields and some more
move some deprecated funcs out of libmpi-abi
add support for typeclass
ops: convert data from internal to abi
for user ops
split rdma modes out from modes for files
the ompi internal rdma and file mode bits overlap,
so we need to treat them that way in the bindings
generation code too.
add SOURCE_ARRAY type
to help out MPI_Group_translate_ranks
fixes to abi_get_fortran_info
for logicals
apply patch omp-op-inout.patch
from dalcinl
apply patch ompi-abi-fortran.patch
from dalcinl
fix for FD_INOUT
fix for isend dst arg
needs to go through translation
apply patch ompi-query-thread.patch
from dalcinl
various pt2pt fixes to handle proc_null etc.
eventually we'll use separate SOURCE and DEST (or something like that)
types.
rma: updates to args to handle proc_null etc
adjustments for improbe and iprobe
fix for status array for MPI_Request_testsome
switch to using a malloc wrapper
per dalcinl suggestion
plug memory leak handling REQUEST_INOUT type
patch status out to handle copy in
there are many functions where a status is conditionally
returned. Trying to treat each of these would be too
complex so instead copy contents of the status supplied as
input into any temporary status variables then copy back
out.
handle dargs for darray_create correctly
fixes for spawn multiple - array of info args
and array of errorcodes
disable async NBC-based cleanup for now
turn back on async array cleanup stuff
and add a check that the returned request isn't
complete.
mpi_info_toint/fromint prior to MPI_Init or MPI_Session_init
first pass at errhandler support
simplify python support for user-defined err handlers
VERSION - add support for versioning libmpi_abi
add a blurb about how current and age and revision
should work for this library.
add man pages for new MPI_Abi and fromint/toint functions
attributes - clean up extra helper data
using the bindings_extra_state arg to ompi_attr_create_keyval
add a readme about the MPI ABI support
fortran: add the MPI_Abi entry points
python framework: improve debugging
also import util module
Signed-off-by: Howard Pritchard <[email protected]>
Co-authored-by: Lisandro Dalcin <[email protected]>1 parent ac5f8b3 commit 2686d1b
File tree
478 files changed
+9816
-2144
lines changed- config
- docs
- building-apps
- man-openmpi/man3
- ompi
- attribute
- datatype
- errhandler
- include
- info
- mca
- bml/r2
- coll
- accelerator
- acoll
- basic
- demo
- inter
- libnbc
- monitoring
- portals4
- self
- sync
- tuned
- ucc
- xhc
- common/monitoring
- fbtl
- ime
- posix
- fs
- ime
- lustre
- ufs
- hook/comm_method
- mtl
- ofi
- portals4
- psm2
- op
- aarch64
- avx
- example
- osc
- monitoring
- portals4
- rdma
- sm
- ucx
- part/persist
- pml
- cm
- monitoring
- ob1
- ucx
- v
- topo
- basic
- example
- treematch
- vprotocol/pessimist
- mpi
- bindings
- ompi_bindings
- c
- fortran
- mpif-h
- profile
- use-mpi-f08
- use-mpi-ignore-tkr
- tool
- op
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
478 files changed
+9816
-2144
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
537 | 537 | | |
538 | 538 | | |
539 | 539 | | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
540 | 543 | | |
| 544 | + | |
541 | 545 | | |
542 | 546 | | |
543 | 547 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
95 | 103 | | |
96 | 104 | | |
97 | 105 | | |
| |||
100 | 108 | | |
101 | 109 | | |
102 | 110 | | |
| 111 | + | |
103 | 112 | | |
104 | 113 | | |
105 | 114 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
64 | 66 | | |
65 | 67 | | |
66 | 68 | | |
67 | | - | |
| 69 | + | |
68 | 70 | | |
69 | 71 | | |
70 | 72 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
30 | 35 | | |
31 | 36 | | |
32 | 37 | | |
| 38 | + | |
| 39 | + | |
33 | 40 | | |
34 | 41 | | |
35 | 42 | | |
36 | 43 | | |
37 | 44 | | |
38 | 45 | | |
39 | | - | |
| 46 | + | |
| 47 | + | |
40 | 48 | | |
41 | 49 | | |
42 | 50 | | |
| |||
98 | 106 | | |
99 | 107 | | |
100 | 108 | | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
101 | 117 | | |
102 | 118 | | |
103 | 119 | | |
| |||
114 | 130 | | |
115 | 131 | | |
116 | 132 | | |
117 | | - | |
| 133 | + | |
118 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
119 | 161 | | |
120 | | - | |
121 | | - | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
122 | 167 | | |
123 | 168 | | |
124 | 169 | | |
| |||
127 | 172 | | |
128 | 173 | | |
129 | 174 | | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
130 | 182 | | |
131 | 183 | | |
132 | 184 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| 150 | + | |
150 | 151 | | |
151 | 152 | | |
152 | 153 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
90 | 96 | | |
91 | 97 | | |
92 | 98 | | |
| |||
151 | 157 | | |
152 | 158 | | |
153 | 159 | | |
| 160 | + | |
154 | 161 | | |
155 | 162 | | |
156 | 163 | | |
| |||
174 | 181 | | |
175 | 182 | | |
176 | 183 | | |
| 184 | + | |
177 | 185 | | |
178 | 186 | | |
179 | 187 | | |
| |||
182 | 190 | | |
183 | 191 | | |
184 | 192 | | |
| 193 | + | |
185 | 194 | | |
186 | 195 | | |
| 196 | + | |
187 | 197 | | |
188 | 198 | | |
189 | 199 | | |
| |||
196 | 206 | | |
197 | 207 | | |
198 | 208 | | |
| 209 | + | |
199 | 210 | | |
200 | 211 | | |
201 | 212 | | |
| |||
239 | 250 | | |
240 | 251 | | |
241 | 252 | | |
| 253 | + | |
242 | 254 | | |
243 | 255 | | |
244 | 256 | | |
| |||
282 | 294 | | |
283 | 295 | | |
284 | 296 | | |
| 297 | + | |
285 | 298 | | |
286 | 299 | | |
287 | 300 | | |
288 | 301 | | |
289 | 302 | | |
290 | 303 | | |
291 | 304 | | |
| 305 | + | |
292 | 306 | | |
293 | 307 | | |
294 | 308 | | |
| |||
317 | 331 | | |
318 | 332 | | |
319 | 333 | | |
| 334 | + | |
320 | 335 | | |
321 | 336 | | |
322 | 337 | | |
323 | 338 | | |
324 | 339 | | |
325 | 340 | | |
| 341 | + | |
326 | 342 | | |
327 | 343 | | |
328 | 344 | | |
| |||
348 | 364 | | |
349 | 365 | | |
350 | 366 | | |
| 367 | + | |
| 368 | + | |
351 | 369 | | |
352 | 370 | | |
353 | 371 | | |
| |||
366 | 384 | | |
367 | 385 | | |
368 | 386 | | |
| 387 | + | |
| 388 | + | |
369 | 389 | | |
370 | 390 | | |
371 | 391 | | |
| |||
398 | 418 | | |
399 | 419 | | |
400 | 420 | | |
| 421 | + | |
401 | 422 | | |
402 | 423 | | |
403 | 424 | | |
404 | 425 | | |
| 426 | + | |
405 | 427 | | |
406 | 428 | | |
407 | 429 | | |
| |||
423 | 445 | | |
424 | 446 | | |
425 | 447 | | |
| 448 | + | |
426 | 449 | | |
427 | 450 | | |
428 | 451 | | |
429 | 452 | | |
430 | 453 | | |
431 | 454 | | |
| 455 | + | |
432 | 456 | | |
433 | 457 | | |
434 | 458 | | |
| |||
440 | 464 | | |
441 | 465 | | |
442 | 466 | | |
| 467 | + | |
443 | 468 | | |
444 | 469 | | |
445 | 470 | | |
| |||
449 | 474 | | |
450 | 475 | | |
451 | 476 | | |
| 477 | + | |
452 | 478 | | |
453 | 479 | | |
454 | 480 | | |
| |||
525 | 551 | | |
526 | 552 | | |
527 | 553 | | |
| 554 | + | |
528 | 555 | | |
529 | 556 | | |
530 | 557 | | |
| |||
544 | 571 | | |
545 | 572 | | |
546 | 573 | | |
| 574 | + | |
547 | 575 | | |
548 | 576 | | |
549 | 577 | | |
| |||
573 | 601 | | |
574 | 602 | | |
575 | 603 | | |
| 604 | + | |
576 | 605 | | |
577 | 606 | | |
578 | 607 | | |
| |||
589 | 618 | | |
590 | 619 | | |
591 | 620 | | |
| 621 | + | |
592 | 622 | | |
593 | 623 | | |
594 | 624 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
0 commit comments