Dosyalar
rocm-systems/src/include/info.h
T

58 satır
1.2 KiB
C
Ham Normal Görünüm Geçmiş

2019-03-14 19:39:20 -07:00
/*************************************************************************
2021-04-12 16:00:11 -07:00
* Copyright (c) 2019-2021, NVIDIA CORPORATION. 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"
2020-05-12 14:40:18 -07:00
#include "devcomm.h"
2019-03-14 19:39:20 -07:00
typedef enum {
ncclPatternRing,
ncclPatternRingTwice,
ncclPatternPipelineFrom,
ncclPatternPipelineTo,
ncclPatternTreeUp,
ncclPatternTreeDown,
2020-01-16 16:02:42 -08:00
ncclPatternTreeUpDown,
2021-04-12 16:00:11 -07:00
ncclPatternCollTreeUpDown
2019-03-14 19:39:20 -07:00
} ncclPattern_t;
// 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;
int root;
ncclComm_t comm;
cudaStream_t stream;
// Algorithm details
int chunkSteps;
int sliceSteps;
// Computed later
2019-11-19 14:57:39 -08:00
int algorithm;
int protocol;
2019-03-14 19:39:20 -07:00
ncclPattern_t pattern;
2019-11-19 14:57:39 -08:00
int nChannels;
int nThreads;
2019-03-14 19:39:20 -07:00
size_t nBytes;
int nstepsPerLoop;
int nchunksPerLoop;
2020-05-12 14:40:18 -07:00
ssize_t sendbytes;
ssize_t recvbytes;
2021-04-12 16:00:11 -07:00
int recvChunkSize;
int sendChunkSize;
2020-05-12 14:40:18 -07:00
uint32_t delta;
int channelId;
2019-03-14 19:39:20 -07:00
};
#endif