Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/nccl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Addison <daddison@nvidia.com>2019-03-15 05:39:20 +0300
committerDavid Addison <daddison@nvidia.com>2019-04-05 23:05:45 +0300
commitf40ce73e8987d2990e4b9ef6c75f4b3423acce78 (patch)
tree8df24e6ebc127a82a6562eb60fc6e80590bb3c55 /src/collectives/broadcast.cc
parent14e0cf644b9ba2214f2b6d2e299e8218f6145d32 (diff)
NCCL 2.4.6-1
Added detection of IBM/Power NVLink bridge device. Add NUMA support to PCI distance calculations. Added NCCL_IGNORE_CPU_AFFINITY env var. Fix memory leaks; GithubIssue#180 Compiler warning fix; GithubIssue#178 Replace non-standard variable length arrays. GithubIssue#171 Fix Tree+Shared Memory crash. GithubPR#185 Fix LL cleanup hang during long running DL jobs. Fix NCCL_RINGS environment variable handling. Added extra checks to catch repeat calls to ncclCommDestroy() GithubIssue#191 Improve bootstrap socket connection reliability at scale. Fix hostname hashing issue. GithubIssue#187 Code cleanup to rename all non device files from *.cu to *.cc
Diffstat (limited to 'src/collectives/broadcast.cc')
-rw-r--r--src/collectives/broadcast.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/collectives/broadcast.cc b/src/collectives/broadcast.cc
new file mode 100644
index 0000000..042301b
--- /dev/null
+++ b/src/collectives/broadcast.cc
@@ -0,0 +1,26 @@
+/*************************************************************************
+ * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.
+ *
+ * See LICENSE.txt for license information
+ ************************************************************************/
+
+#include "enqueue.h"
+#include "collectives.h"
+
+NCCL_API(ncclResult_t, ncclBroadcast, const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,
+ ncclComm_t comm, cudaStream_t stream);
+ncclResult_t ncclBroadcast(const void* sendbuff, void* recvbuff, size_t count, ncclDataType_t datatype, int root,
+ ncclComm_t comm, cudaStream_t stream) {
+ struct ncclInfo info = { ncclCollBroadcast, "Broadcast",
+ sendbuff, recvbuff, count, datatype, ncclSum, root, comm, stream, /* Args */
+ BROADCAST_CHUNKSTEPS, BROADCAST_SLICESTEPS };
+ return ncclEnqueueCheck(&info);
+}
+/* Deprecated original "in place" function, similar to MPI */
+NCCL_API(ncclResult_t, ncclBcast, void* buff, size_t count, ncclDataType_t datatype, int root,
+ ncclComm_t comm, cudaStream_t stream);
+ncclResult_t ncclBcast(void* buff, size_t count, ncclDataType_t datatype, int root,
+ ncclComm_t comm, cudaStream_t stream) {
+ return ncclBroadcast(buff, buff, count, datatype, root, comm, stream);
+}
+