Skip to content

Commit fe6af93

Browse files
wfaderhold21janjust
authored andcommitted
TL/CUDA: add support for mem map
TOOLS: add global and local memory type TL/CUDA: add push algorithm TL/CUDA: add alltoallv memh
1 parent 281a0eb commit fe6af93

17 files changed

Lines changed: 1351 additions & 34 deletions

src/components/tl/cuda/Makefile.am

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,17 @@ allgatherv = \
1919
allgatherv/allgatherv_ring.c \
2020
allgatherv/allgatherv_linear.c
2121

22-
alltoall = \
23-
alltoall/alltoall.h \
24-
alltoall/alltoall.c \
25-
alltoall/alltoall_ce.c
26-
27-
alltoallv = \
28-
alltoallv/alltoallv.h \
29-
alltoallv/alltoallv.c \
30-
alltoallv/alltoallv_ce.c
22+
alltoall = \
23+
alltoall/alltoall.h \
24+
alltoall/alltoall.c \
25+
alltoall/alltoall_ce.c \
26+
alltoall/alltoall_push.c
27+
28+
alltoallv = \
29+
alltoallv/alltoallv.h \
30+
alltoallv/alltoallv.c \
31+
alltoallv/alltoallv_ce.c \
32+
alltoallv/alltoallv_push.c
3133

3234
bcast = \
3335
bcast/bcast.h \

src/components/tl/cuda/alltoall/alltoall.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,25 @@
11
/**
2-
* Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
* Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
*
44
* See file LICENSE for terms.
55
*/
66

77
#include "alltoall.h"
88
#include "components/mc/ucc_mc.h"
99

10+
ucc_base_coll_alg_info_t
11+
ucc_tl_cuda_alltoall_algs[UCC_TL_CUDA_ALLTOALL_ALG_LAST + 1] = {
12+
[UCC_TL_CUDA_ALLTOALL_ALG_CE] =
13+
{.id = UCC_TL_CUDA_ALLTOALL_ALG_CE,
14+
.name = "ce",
15+
.desc = "copy-engine alltoall algorithm"},
16+
[UCC_TL_CUDA_ALLTOALL_ALG_PUSH] =
17+
{.id = UCC_TL_CUDA_ALLTOALL_ALG_PUSH,
18+
.name = "push",
19+
.desc = "push-based alltoall using pre-registered dst handles"},
20+
[UCC_TL_CUDA_ALLTOALL_ALG_LAST] = {
21+
.id = 0, .name = NULL, .desc = NULL}};
22+
1023
ucc_status_t ucc_tl_cuda_alltoall_ce_init(ucc_tl_cuda_task_t *task);
1124

1225
ucc_status_t ucc_tl_cuda_alltoall_ce_start(ucc_coll_task_t *task);

src/components/tl/cuda/alltoall/alltoall.h

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright (c) 2021, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
* Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
33
*
44
* See file LICENSE for terms.
55
*/
@@ -9,9 +9,33 @@
99

1010
#include "tl_cuda.h"
1111
#include "tl_cuda_coll.h"
12+
#include "components/base/ucc_base_iface.h"
13+
14+
enum {
15+
UCC_TL_CUDA_ALLTOALL_ALG_CE = 0,
16+
UCC_TL_CUDA_ALLTOALL_ALG_PUSH = 1,
17+
UCC_TL_CUDA_ALLTOALL_ALG_LAST
18+
};
19+
20+
extern ucc_base_coll_alg_info_t
21+
ucc_tl_cuda_alltoall_algs[UCC_TL_CUDA_ALLTOALL_ALG_LAST + 1];
22+
23+
static inline int ucc_tl_cuda_alltoall_alg_from_str(const char *str)
24+
{
25+
int i;
26+
for (i = 0; i < UCC_TL_CUDA_ALLTOALL_ALG_LAST; i++) {
27+
if (0 == strcasecmp(str, ucc_tl_cuda_alltoall_algs[i].name))
28+
return i;
29+
}
30+
return -1;
31+
}
1232

1333
ucc_status_t ucc_tl_cuda_alltoall_init(ucc_base_coll_args_t *coll_args,
1434
ucc_base_team_t *tl_team,
1535
ucc_coll_task_t **task_p);
1636

37+
ucc_status_t ucc_tl_cuda_alltoall_push_init(ucc_base_coll_args_t *coll_args,
38+
ucc_base_team_t *tl_team,
39+
ucc_coll_task_t **task_p);
40+
1741
#endif

0 commit comments

Comments
 (0)