4f7d5f85ec
* 2.9.6-1
Add support for CUDA graphs.
Fuse BCM Gen4 switches to avoid suboptimal performance on some platforms. Issue #439.
Fix bootstrap issue caused by connection reordering.
Fix CPU locking block.
Improve CollNet algorithm.
Improve performance on DGX A100 for communicators with only one GPU per node.
* Clique tuning upgrade (#352) (#19)
* Enabling clique for any XGMI-connected topology, adding tuning
* Updating CHANGELOG for clique tuning
* Re-working clique barrier system to work on multi-process / multi-gpu
Co-authored-by: Sylvain Jeaugey <sjeaugey@nvidia.com>
Co-authored-by: gilbertlee-amd <44450918+gilbertlee-amd@users.noreply.github.com>
[ROCm/rccl commit: 6021329af0]
63 líneas
1.6 KiB
C++
63 líneas
1.6 KiB
C++
/*************************************************************************
|
|
* Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.
|
|
* Modifications Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.
|
|
*
|
|
* See LICENSE.txt for license information
|
|
************************************************************************/
|
|
|
|
#ifndef NCCL_CORE_H_
|
|
#define NCCL_CORE_H_
|
|
|
|
#include <pthread.h>
|
|
#include <unistd.h>
|
|
#include <stdlib.h>
|
|
#include <stdint.h>
|
|
#include <algorithm> // For std::min/std::max
|
|
#include "nccl.h"
|
|
|
|
#ifdef PROFAPI
|
|
#define NCCL_API(ret, func, args...) \
|
|
__attribute__ ((visibility("default"))) \
|
|
__attribute__ ((alias(#func))) \
|
|
ret p##func (args); \
|
|
extern "C" \
|
|
__attribute__ ((visibility("default"))) \
|
|
__attribute__ ((weak)) \
|
|
ret func(args)
|
|
#else
|
|
#define NCCL_API(ret, func, args...) \
|
|
extern "C" \
|
|
__attribute__ ((visibility("default"))) \
|
|
ret func(args)
|
|
#endif // end PROFAPI
|
|
|
|
static __inline__ int ncclTypeSize(ncclDataType_t type) {
|
|
switch (type) {
|
|
case ncclInt8:
|
|
case ncclUint8:
|
|
return 1;
|
|
case ncclFloat16:
|
|
case ncclBfloat16:
|
|
return 2;
|
|
case ncclInt32:
|
|
case ncclUint32:
|
|
case ncclFloat32:
|
|
return 4;
|
|
case ncclInt64:
|
|
case ncclUint64:
|
|
case ncclFloat64:
|
|
return 8;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
#include "debug.h"
|
|
#include "checks.h"
|
|
#include "alloc.h"
|
|
#include "utils.h"
|
|
#include "param.h"
|
|
#include "nvtx_stub.h"
|
|
|
|
#endif // end include guard
|