Neko
1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
comm_nccl.c
Go to the documentation of this file.
1
2
#include <
comm/comm_nccl.h
>
3
#include <
comm/comm.h
>
4
5
#if defined(HAVE_NCCL) || defined(HAVE_RCCL)
6
10
ncclComm_t
NEKO_COMM_NCCL
;
11
15
void
neko_comm_nccl_init
(){
16
int
pe_rank
,
pe_size
;
17
MPI_Comm_rank
(
NEKO_COMM
, &pe_rank);
18
MPI_Comm_size
(
NEKO_COMM
, &pe_size);
19
20
ncclUniqueId
id;
21
22
if
(pe_rank == 0) {
23
ncclGetUniqueId
(&
id
);
24
}
25
MPI_Bcast
((
void
*) &
id
,
sizeof
(
id
),
MPI_BYTE
, 0,
MPI_COMM_WORLD
);
26
ncclCommInitRank
(&
NEKO_COMM_NCCL
, pe_size,
id
, pe_rank);
27
28
}
29
30
void
neko_comm_nccl_finalize
(){
31
32
ncclCommDestroy
(
NEKO_COMM_NCCL
);
33
34
}
35
36
#endif
37
38
comm.h
NEKO_COMM
MPI_Comm NEKO_COMM
Definition
comm_wrapper.c:10
comm_nccl.h
dirichlet_apply_scalar_kernel
__global__ void dirichlet_apply_scalar_kernel(const int *__restrict__ msk, T *__restrict__ x, const T g, const int m)
Definition
dirichlet_kernel.h:42
comm::pe_size
integer, public pe_size
MPI size of communicator.
Definition
comm.F90:58
comm::pe_rank
integer, public pe_rank
MPI rank.
Definition
comm.F90:55
src
comm
comm_nccl.c
Generated on Mon Sep 1 2025 03:49:14 for Neko by
1.9.8