From eb0a580e78da1418e66358278fc2270b6406ef80 Mon Sep 17 00:00:00 2001
From: Yu Yang <yuyang18@baidu.com>
Date: Tue, 20 Mar 2018 19:08:44 +0800
Subject: [PATCH] Add enforce

---
 paddle/fluid/framework/parallel_executor.cc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/paddle/fluid/framework/parallel_executor.cc b/paddle/fluid/framework/parallel_executor.cc
index d61f1438a6..b8751662c3 100644
--- a/paddle/fluid/framework/parallel_executor.cc
+++ b/paddle/fluid/framework/parallel_executor.cc
@@ -246,7 +246,7 @@ struct FetchOpHandle : public OpHandle {
 class ParallelExecutorPrivate {
  public:
   explicit ParallelExecutorPrivate(size_t num_threads)
-      : pool_(num_threads == 0 ? nullptr : new ThreadPool(num_threads)) {}
+      : pool_(num_threads <= 1 ? nullptr : new ThreadPool(num_threads)) {}
 
   std::vector<platform::Place> places_;
 
@@ -365,7 +365,7 @@ struct NCCLAllReduceOpHandle : public OpHandle {
 
       std::lock_guard<std::mutex> g(g_nccl_mtx_);
 
-      platform::dynload::ncclGroupStart();
+      PADDLE_ENFORCE(platform::dynload::ncclGroupStart());
 
       for (size_t i = 0; i < member_->local_scopes_.size(); ++i) {
         auto &p = member_->places_[i];
@@ -383,11 +383,11 @@ struct NCCLAllReduceOpHandle : public OpHandle {
         }
 
         auto &nccl_ctx = member_->communication_streams_.at(dev_id);
-        platform::dynload::ncclAllReduce(
+        PADDLE_ENFORCE(platform::dynload::ncclAllReduce(
             buffer, buffer, numel, static_cast<ncclDataType_t>(dtype), ncclSum,
-            nccl_ctx.comm, nccl_ctx.stream());
+            nccl_ctx.comm, nccl_ctx.stream()));
       }
-      platform::dynload::ncclGroupEnd();
+      PADDLE_ENFORCE(platform::dynload::ncclGroupEnd());
     }
   }
 };