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:
authorKe Wen <kwen@nvidia.com>2019-12-07 05:28:11 +0300
committerKe Wen <kwen@nvidia.com>2019-12-07 05:28:11 +0300
commit44b56526179c6fb0c72350d378a8ff9184774ef9 (patch)
treeea3859bb660c32e064a036d526269adb9657f017
parent6bb953d4e6b7e6856683a8cc83b9626b3bf421bb (diff)
parentaa15dfb29c05adc4f2c895aa72f8873e125560fb (diff)
Merge branch 'master' into HEAD
-rw-r--r--src/graph/tuning.cc2
-rw-r--r--src/init.cc10
2 files changed, 10 insertions, 2 deletions
diff --git a/src/graph/tuning.cc b/src/graph/tuning.cc
index 89a97a3..87afb2f 100644
--- a/src/graph/tuning.cc
+++ b/src/graph/tuning.cc
@@ -192,7 +192,7 @@ ncclResult_t ncclSetThresholds(struct ncclComm* comm, int minCompCap, int maxCom
// Override defaults with user env
char* str = getenv("NCCL_THREAD_THRESHOLDS");
if (str) {
- ssize_t t[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS] = { -2 };
+ ssize_t t[NCCL_NUM_ALGORITHMS][NCCL_NUM_PROTOCOLS] = {{ -2, -2, -2 }, { -2, -2, -2}};
sscanf(str, "%ld %ld %ld %ld %ld %ld", t[0], t[0]+1, t[0]+2, t[1], t[1]+1, t[1]+2);
for (int a=0; a<NCCL_NUM_ALGORITHMS; a++) {
for (int p=0; p<NCCL_NUM_PROTOCOLS; p++) {
diff --git a/src/init.cc b/src/init.cc
index 1ee2a73..9da676a 100644
--- a/src/init.cc
+++ b/src/init.cc
@@ -124,10 +124,18 @@ ncclResult_t ncclGetUniqueId(ncclUniqueId* out) {
}
// Prevent compiler from optimizing out these operations
-void __attribute__((optimize("O0"))) commPoison(ncclComm_t comm) {
+#ifdef __clang__
+#define NCCL_NO_OPTIMIZE __attribute__((noopt))
+#else
+#define NCCL_NO_OPTIMIZE __attribute__((optimize("O0")))
+#endif
+
+void NCCL_NO_OPTIMIZE commPoison(ncclComm_t comm) {
comm->rank = comm->cudaDev = comm->busId = comm->nRanks = -1;
}
+#undef NCCL_NO_OPTIMIZE
+
static ncclResult_t commFree(ncclComm_t comm) {
if (comm == NULL)
return ncclSuccess;