/************************************************************************* * Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved. * Modifications Copyright (c) 2019 Advanced Micro Devices, Inc. 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, hipStream_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, hipStream_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, hipStream_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, hipStream_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, hipStream_t stream) { CHECKCOUNT(sendcount); return ncclAllGather(sendbuff, (int)sendcount, datatype, recvbuff, comm, stream); } #endif #endif