2019-03-14 19:39:20 -07:00
|
|
|
/*************************************************************************
|
2022-01-07 06:39:55 -08:00
|
|
|
* Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.
|
2022-04-18 11:14:51 -07:00
|
|
|
* Modifications Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.
|
2019-03-14 19:39:20 -07:00
|
|
|
*
|
|
|
|
|
* See LICENSE.txt for license information
|
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef NCCL_INFO_H_
|
|
|
|
|
#define NCCL_INFO_H_
|
|
|
|
|
|
|
|
|
|
#include "nccl.h"
|
2021-09-08 13:56:25 -07:00
|
|
|
#include "collectives.h"
|
2022-05-24 02:02:31 -07:00
|
|
|
#include "core.h"
|
|
|
|
|
#include "utils.h"
|
2019-03-14 19:39:20 -07:00
|
|
|
|
|
|
|
|
// Used to pass NCCL call information between functions
|
|
|
|
|
struct ncclInfo {
|
2019-11-19 14:57:39 -08:00
|
|
|
ncclFunc_t coll;
|
2019-03-14 19:39:20 -07:00
|
|
|
const char* opName;
|
|
|
|
|
// NCCL Coll Args
|
|
|
|
|
const void* sendbuff;
|
|
|
|
|
void* recvbuff;
|
|
|
|
|
size_t count;
|
|
|
|
|
ncclDataType_t datatype;
|
|
|
|
|
ncclRedOp_t op;
|
2022-01-07 06:39:55 -08:00
|
|
|
int root; // peer for p2p operations
|
2019-03-14 19:39:20 -07:00
|
|
|
ncclComm_t comm;
|
2022-11-07 14:09:26 -08:00
|
|
|
cudaStream_t stream;
|
2019-03-14 19:39:20 -07:00
|
|
|
// Algorithm details
|
|
|
|
|
int chunkSteps;
|
|
|
|
|
int sliceSteps;
|
|
|
|
|
};
|
|
|
|
|
|
2024-04-23 13:33:19 -07:00
|
|
|
#endif
|