Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
586d282
mpit: fix an unused function warning
hzhou Sep 4, 2025
994cb0e
ADI: remove MPID collectives
hzhou Aug 22, 2025
eb7ca7b
maint: move json_gen.sh to top of maint folder
hzhou Aug 25, 2025
979b3d9
ch4/coll: remove device-layer json selections
hzhou Aug 22, 2025
9a43cb9
ch4: disable the code that call netmod/shm collectives
hzhou Aug 23, 2025
77f69a1
ch4/api: remove netmod/shm collective api
hzhou Aug 22, 2025
9117fd6
ch4: remove device-layer json csel
hzhou Aug 24, 2025
43d50a1
ch4/shm: inclusion order for shm_am.h
hzhou Aug 23, 2025
f246abb
all: use fallback routines for internal collectives
hzhou Aug 23, 2025
c0e1ac3
ch3: use MPIR_Barrier_fallback internally
hzhou Sep 4, 2025
6b9162d
temp auto
hzhou Sep 4, 2025
5e5fdb2
coll: remove fallback in collective algorithm
hzhou Aug 23, 2025
e0b9cb3
coll/prep: just use fallback in tsp auto functions
hzhou Aug 25, 2025
982e9f4
coll/prep: remove the optional json search for parameters
hzhou Aug 25, 2025
2e4a138
coll/prep: call MPIR collectives in compositional algorithms
hzhou Aug 23, 2025
d4cd813
coll/csel: rename coll_info to coll_sig
hzhou Aug 19, 2025
fc9d597
coll/csel: pass coll_sig by pointer
hzhou Aug 21, 2025
613ec50
coll/csel: merge csel_container.h into mpir_csel.h
hzhou Aug 21, 2025
1895f60
coll: add coll_composition.json and coll_selection.json
hzhou Aug 21, 2025
c2363fd
coll: add MPIR_Coll_auto and MPIR_Composition_auto
hzhou Aug 21, 2025
6ca05fa
coll: add MPIR_Coll_nb
hzhou Aug 24, 2025
d104833
coll: remove all allcomm_nb algorithms
hzhou Sep 4, 2025
7b1bf89
coll: add abstract coll algo interface and auto functions
hzhou Aug 21, 2025
9cd7b00
coll/gen_coll: dump algo functions
hzhou Aug 22, 2025
8286094
coll/python: generate impl functions
hzhou Aug 22, 2025
065b6dc
coll/gen_coll: temporarily generate MPIR collectives
hzhou Aug 23, 2025
b4d6f30
misc: only include json.h where needed
hzhou Aug 24, 2025
2f68c56
coll: reorganize csel headers
hzhou Aug 24, 2025
1eac300
coll/csel: remove MPIR_Csel_prune
hzhou Sep 2, 2025
5060a4b
coll/gen_coll: generate algorithm container ids
hzhou Aug 24, 2025
5dd1bc7
misc: spelling check
hzhou Aug 25, 2025
9790bbd
coll: remove the alias feature in coll_algorithms.txt
hzhou Aug 24, 2025
41a2cbe
coll: remove MPIR_Csel_root
hzhou Aug 25, 2025
1d2ce78
coll/csel: new coll_algorithms.txt
hzhou Sep 4, 2025
fbe7883
coll/csel: new coll_selection.json
hzhou Sep 4, 2025
49383fc
coll/gen: update gen_coll.py
hzhou Sep 5, 2025
df62792
ADI/csel: add hooks for initializing coll_sig
hzhou Aug 28, 2025
525d871
coll/csel: update csel
hzhou Aug 24, 2025
1c6493b
---- START HERE ----
hzhou Sep 25, 2025
dbf6a9f
TEMP: fixup coll/csel: update csel
hzhou Sep 25, 2025
51f8d86
coll/gen_coll: add "inline" and "func_name" directives
hzhou Sep 26, 2025
9900035
coll/gen_coll: add conditional condition
hzhou Sep 26, 2025
8db6a91
coll: add is_cvar to struct MPIR_Csel_coll_sig
hzhou Sep 25, 2025
874d18e
coll: add coll_sig->flags for boolean flags
hzhou Sep 25, 2025
08b3211
coll: add MPIR_CVAR_DUMP_COLL_ALGO_COUNTERS
hzhou Sep 25, 2025
216fa51
coll/ch4: activate CH4 POSIX release_gather bcast
hzhou Sep 25, 2025
19e27a1
coll/ch4: activate release_gather for reduce/allreduce/barrier
hzhou Sep 26, 2025
703e60a
---- START HERE ----
hzhou Oct 6, 2025
cba9ea3
misc: use fallback collective in internal paths
hzhou Nov 12, 2025
3310c69
coll: check MPIR_CVAR_COLLECTIVE_FALLBACK
hzhou Nov 13, 2025
2bd583b
coll/gen: dump MPIR_Xxx_auto that accepts an entry type
hzhou Nov 11, 2025
661d752
ch4/coll: update compositional algorithms to call auto
hzhou Nov 11, 2025
22f110e
coll: use MPIR_Coll_auto in compositional algorithms
hzhou Nov 12, 2025
007c061
stream/coll: call MPIR_Allreduce_auto and add a FIXME
hzhou Nov 12, 2025
342993a
coll: add comp algorithm MPIR_Coll_buffer_swap
hzhou Nov 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion autogen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -531,7 +531,7 @@ fn_gen_binding_c() {

fn_json_gen() {
echo_n "generating json char arrays... "
./maint/tuning/coll/json_gen.sh
./maint/json_gen.sh
echo "done"
}

Expand Down
2 changes: 2 additions & 0 deletions dummy
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1
1
1,438 changes: 868 additions & 570 deletions maint/gen_coll.py

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions maint/tuning/coll/json_gen.sh → maint/json_gen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,5 @@ cat > $cfile<<EOF
EOF

# create specific json buffers
create_json_buf maint/tuning/coll/mpir/generic.json MPII_coll_generic_json
create_json_buf maint/tuning/coll/ch4/generic.json MPIDI_coll_generic_json
create_json_buf maint/tuning/coll/ch4/posix_generic.json MPIDI_POSIX_coll_generic_json
create_json_buf src/mpi/coll/coll_composition.json MPII_coll_composition_json
create_json_buf src/mpi/coll/coll_selection.json MPII_coll_selection_json
33 changes: 0 additions & 33 deletions maint/local_python/binding_c.py
Original file line number Diff line number Diff line change
Expand Up @@ -1782,17 +1782,9 @@ def push_impl_decl(func, impl_name=None):

if func['_impl_param_list']:
params = ', '.join(func['_impl_param_list'])
if func['dir'] == 'coll':
# block collective use an extra coll_attr
if not RE.match(r'MPI_(I.*|Neighbor.*|.*_init)$', func['name']):
params = params + ", int coll_attr"
else:
params="void"

if func['dir'] == 'coll':
# collective also dump MPIR_Xxx(...)
mpir_name = re.sub(r'^MPIX?_', 'MPIR_', func['name'])
G.impl_declares.append("int %s(%s);" % (mpir_name, params))
# dump MPIR_Xxx_impl(...)
if func['dir'] == 'io':
G.io_impl_declares.append("int %s(%s);" % (impl_name, params))
Expand Down Expand Up @@ -1821,29 +1813,6 @@ def dump_CHECKENUM(var, errname, t, type="ENUM"):
G.out.append("goto fn_fail;")
dump_if_close()

def dump_body_coll(func):
# collectives call MPIR_Xxx
mpir_name = re.sub(r'^MPIX?_', 'MPIR_', func['name'])

args = ", ".join(func['_impl_arg_list'])

if RE.match(r'MPI_(I.*|.*_init)$', func['name'], re.IGNORECASE):
# non-blocking collectives
G.out.append("MPIR_Request *request_ptr = NULL;")
dump_line_with_break("mpi_errno = %s(%s);" % (mpir_name, args))
dump_error_check("")
G.out.append("if (!request_ptr) {")
G.out.append(" request_ptr = MPIR_Request_create_complete(MPIR_REQUEST_KIND__COLL);")
G.out.append("}")
G.out.append("*request = request_ptr->handle;")
elif RE.match(r'mpi_neighbor_', func['name'], re.IGNORECASE):
dump_line_with_break("mpi_errno = %s(%s);" % (mpir_name, args))
dump_error_check("")
else:
# blocking collectives
dump_line_with_break("mpi_errno = %s(%s, 0);" % (mpir_name, args))
dump_error_check("")

def dump_coll_v_swap(func):
# -- wrappers to make code cleaner
def replace_arg(old, new):
Expand Down Expand Up @@ -2064,8 +2033,6 @@ def dump_body_normal():
dump_body_topo_fns(func, RE.m.group(1))
else:
print("Error: unhandled special impl: [%s]" % func['impl'])
elif func['dir'] == 'coll':
dump_body_coll(func)
else:
dump_body_impl(func, "mpir")

Expand Down
213 changes: 0 additions & 213 deletions maint/tuning/coll/ch4/generic.json

This file was deleted.

48 changes: 0 additions & 48 deletions maint/tuning/coll/ch4/posix_generic.json

This file was deleted.

Loading