cbe7f65400
Major rework to merge most of the changes from the NCCL internal tests into the public ones Added "-m <agg_iters>" operation aggregation option. Data integrity checking is now much more performant at scale. Startup times at scale are improved. Test latency units are now displayed in usec.
51 lines
2.0 KiB
C
51 lines
2.0 KiB
C
/*************************************************************************
|
|
* Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
* See LICENSE.txt for license information
|
|
************************************************************************/
|
|
|
|
#ifndef NCCL1_COMPAT_H
|
|
#define NCCL1_COMPAT_H
|
|
|
|
#ifndef NCCL_MAJOR // NCCL 1.x
|
|
#define NCCL_MAJOR 1
|
|
#define NCCL_MINOR 0
|
|
|
|
#define ncclNumOps nccl_NUM_OPS
|
|
#define ncclNumTypes nccl_NUM_TYPES
|
|
|
|
static ncclResult_t ncclGroupStart() { return ncclSuccess; }
|
|
static ncclResult_t ncclGroupEnd() { return ncclSuccess; }
|
|
|
|
#define CHECKCOUNT(count) if (count > INT_MAX) return ncclInvalidArgument;
|
|
|
|
static ncclResult_t ncclReduce(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype,
|
|
ncclRedOp_t op, int root, ncclComm_t comm, cudaStream_t stream) {
|
|
CHECKCOUNT(count);
|
|
return ncclReduce(sendbuff, recvbuff, (int)count, datatype, op, root, comm, stream);
|
|
}
|
|
static ncclResult_t ncclAllReduce(const void* sendbuff, void* recvbuff, size_t count,
|
|
ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm, cudaStream_t stream) {
|
|
CHECKCOUNT(count);
|
|
return ncclAllReduce(sendbuff, recvbuff, (int)count, datatype, op, comm, stream);
|
|
}
|
|
static ncclResult_t ncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,
|
|
ncclComm_t comm, cudaStream_t stream) {
|
|
CHECKCOUNT(count);
|
|
return ncclBcast(buff, (int)count, datatype, root, comm, stream);
|
|
}
|
|
static ncclResult_t ncclReduceScatter(const void* sendbuff, void* recvbuff,
|
|
size_t recvcount, ncclDataType_t datatype, ncclRedOp_t op, ncclComm_t comm,
|
|
cudaStream_t stream) {
|
|
CHECKCOUNT(recvcount);
|
|
return ncclReduceScatter(sendbuff, recvbuff, (int)recvcount, datatype, op, comm, stream);
|
|
}
|
|
static ncclResult_t ncclAllGather(const void* sendbuff, void* recvbuff, size_t sendcount,
|
|
ncclDataType_t datatype, ncclComm_t comm, cudaStream_t stream) {
|
|
CHECKCOUNT(sendcount);
|
|
return ncclAllGather(sendbuff, (int)sendcount, datatype, recvbuff, comm, stream);
|
|
}
|
|
#endif
|
|
|
|
#endif
|