diff --git a/paddle/cuda/src/hl_cuda_cudnn.cc b/paddle/cuda/src/hl_cuda_cudnn.cc index 722a21fed296527b8498c16146659581a70673b4..19c94b2453981301bcb632ecbe5d322369009973 100644 --- a/paddle/cuda/src/hl_cuda_cudnn.cc +++ b/paddle/cuda/src/hl_cuda_cudnn.cc @@ -175,15 +175,16 @@ CUDNN_DNN_ROUTINE_EACH_R5(DYNAMIC_LOAD_CUDNN_WRAP) } /* namespace dynload */ /** - * Check build-in cudnn function using glog and it also + * Check build-in cudnn function using glog and it **does not** * support << operator for more details error info. */ -cudnnStatus_t g_cudnnStat; -#define CHECK_CUDNN(cudnn_func) \ - g_cudnnStat = cudnn_func; \ - CHECK_EQ(CUDNN_STATUS_SUCCESS, g_cudnnStat) \ - << "Cudnn Error: " \ - << dynload::cudnnGetErrorString(g_cudnnStat) << ". " \ +#define CHECK_CUDNN(cudnnFunc) \ + do { \ + cudnnStatus_t cudnnStat = cudnnFunc; \ + CHECK_EQ(CUDNN_STATUS_SUCCESS, cudnnStat) \ + << "Cudnn Error: " \ + << dynload::cudnnGetErrorString(cudnnStat); \ + } while (0) bool g_is_libcudnn_init = false; int g_cudnn_lib_version = 0; diff --git a/paddle/cuda/src/hl_cuda_device.cc b/paddle/cuda/src/hl_cuda_device.cc index 23aa910c5748554d31c96a3dd9cabd1097e819b8..774eef8b894f1904d980f09100617d670751cb1a 100644 --- a/paddle/cuda/src/hl_cuda_device.cc +++ b/paddle/cuda/src/hl_cuda_device.cc @@ -178,14 +178,15 @@ int g_cuda_lib_version = 0; #define HPPL_GPU_MEMORY_SIZE (256*4) /** - * Check build-in cuda function using glog and it also + * Check build-in cuda function using glog and it **does not** * support << operator for more details error info. */ -cudaError_t cudaStat; -#define CHECK_CUDA(cuda_func) \ - cudaStat = cuda_func; \ - CHECK_EQ(cudaSuccess, cudaStat) << "Cuda Error: " \ - << dynload::cudaGetErrorString(cudaStat) << ". " \ +#define CHECK_CUDA(cudaFunc) \ + do { \ + cudaError_t cudaStat = cudaFunc; \ + CHECK_EQ(cudaSuccess, cudaStat) << "Cuda Error: " \ + << dynload::cudaGetErrorString(cudaStat); \ + } while (0) /** * @brief thread resource. diff --git a/paddle/trainer/RemoteParameterUpdater.h b/paddle/trainer/RemoteParameterUpdater.h index 80b2978358be3bd2e0364cd48287bb1c3f8d6cd5..0105ae45c1e4a5963c9e9046c906fff20a2e87ad 100644 --- a/paddle/trainer/RemoteParameterUpdater.h +++ b/paddle/trainer/RemoteParameterUpdater.h @@ -29,7 +29,7 @@ namespace paddle { * parameters servers. */ -// TODO:(yanfei) +// TODO(yanfei): // I think that the biggest feature of rdma is packet lossless control // feature instead of high bandwiths, zero copy and gpu-direct rdma in // theroy. @@ -164,7 +164,7 @@ protected: static const std::string kElasticAverage; }; -// TODO:(yanfei) +// TODO(yanfei): // do parameters level synchronization Optimization at pserver end with // ConcurrentRemoteParameterUpdater to get more parallelization, at last // to really hide pserver latency in backward computation. @@ -241,7 +241,7 @@ private: bool oneBatchFinished_; }; -// TODO:(yanfei) +// TODO(yanfei): // merge sparse updater with dense updater, and could help to reduce // the synchronization between sparse and dense udpater. it could also // reduce the threads for managing all connections. diff --git a/paddle/trainer/Trainer.cpp b/paddle/trainer/Trainer.cpp index b8997725dcef9b0f7ad1cf0321b18e571a2493f5..2890f5b5d7ad93026113346722b4e07504e50482 100644 --- a/paddle/trainer/Trainer.cpp +++ b/paddle/trainer/Trainer.cpp @@ -188,7 +188,7 @@ void Trainer::init(const std::shared_ptr &config, bool gpuData = FLAGS_use_gpu && (!FLAGS_parallel_nn) && - (!IGradientMachineMode::dataMustInCpu(mode_, + (!IGradientMachineMode::dataMustInCpu(mode_, FLAGS_trainer_count)); dataProvider_ = dataProvider;