Skip to content

Commit

Permalink
By default do not choose CUDNN engine in CPU mode even if it is compi…
Browse files Browse the repository at this point in the history
…led wiht USE_CUDNN

Fixes BVLC#3317
  • Loading branch information
dashesy committed Jul 3, 2019
1 parent 04ab089 commit 10666ec
Showing 1 changed file with 15 additions and 10 deletions.
25 changes: 15 additions & 10 deletions src/caffe/layer_factory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ shared_ptr<Layer<Dtype> > GetConvolutionLayer(
if (engine == ConvolutionParameter_Engine_DEFAULT) {
engine = ConvolutionParameter_Engine_CAFFE;
#ifdef USE_CUDNN
if (!use_dilation) {
if (!use_dilation && Caffe::mode() == Caffe::GPU) {
engine = ConvolutionParameter_Engine_CUDNN;
}
#endif
Expand Down Expand Up @@ -92,7 +92,7 @@ shared_ptr<Layer<Dtype> > GetDeconvolutionLayer(const LayerParameter& param) {
if (engine == ConvolutionParameter_Engine_DEFAULT) {
engine = ConvolutionParameter_Engine_CAFFE;
#ifdef USE_CUDNN
if (!use_dilation) {
if (!use_dilation && Caffe::mode() == Caffe::GPU) {
engine = ConvolutionParameter_Engine_CUDNN;
}
#endif
Expand Down Expand Up @@ -122,7 +122,8 @@ shared_ptr<Layer<Dtype> > GetPoolingLayer(const LayerParameter& param) {
if (engine == PoolingParameter_Engine_DEFAULT) {
engine = PoolingParameter_Engine_CAFFE;
#ifdef USE_CUDNN
engine = PoolingParameter_Engine_CUDNN;
if (Caffe::mode() == Caffe::GPU)
engine = PoolingParameter_Engine_CUDNN;
#endif
}
if (engine == PoolingParameter_Engine_CAFFE) {
Expand Down Expand Up @@ -159,10 +160,10 @@ shared_ptr<Layer<Dtype> > GetLRNLayer(const LayerParameter& param) {
LRNParameter_Engine engine = param.lrn_param().engine();

if (engine == LRNParameter_Engine_DEFAULT) {
engine = LRNParameter_Engine_CAFFE;
#ifdef USE_CUDNN
engine = LRNParameter_Engine_CUDNN;
#else
engine = LRNParameter_Engine_CAFFE;
if (Caffe::mode() == Caffe::GPU)
engine = LRNParameter_Engine_CUDNN;
#endif
}

Expand Down Expand Up @@ -198,7 +199,8 @@ shared_ptr<Layer<Dtype> > GetReLULayer(const LayerParameter& param) {
if (engine == ReLUParameter_Engine_DEFAULT) {
engine = ReLUParameter_Engine_CAFFE;
#ifdef USE_CUDNN
engine = ReLUParameter_Engine_CUDNN;
if (Caffe::mode() == Caffe::GPU)
engine = ReLUParameter_Engine_CUDNN;
#endif
}
if (engine == ReLUParameter_Engine_CAFFE) {
Expand All @@ -222,7 +224,8 @@ shared_ptr<Layer<Dtype> > GetSigmoidLayer(const LayerParameter& param) {
if (engine == SigmoidParameter_Engine_DEFAULT) {
engine = SigmoidParameter_Engine_CAFFE;
#ifdef USE_CUDNN
engine = SigmoidParameter_Engine_CUDNN;
if (Caffe::mode() == Caffe::GPU)
engine = SigmoidParameter_Engine_CUDNN;
#endif
}
if (engine == SigmoidParameter_Engine_CAFFE) {
Expand All @@ -246,7 +249,8 @@ shared_ptr<Layer<Dtype> > GetSoftmaxLayer(const LayerParameter& param) {
if (engine == SoftmaxParameter_Engine_DEFAULT) {
engine = SoftmaxParameter_Engine_CAFFE;
#ifdef USE_CUDNN
engine = SoftmaxParameter_Engine_CUDNN;
if (Caffe::mode() == Caffe::GPU)
engine = SoftmaxParameter_Engine_CUDNN;
#endif
}
if (engine == SoftmaxParameter_Engine_CAFFE) {
Expand All @@ -270,7 +274,8 @@ shared_ptr<Layer<Dtype> > GetTanHLayer(const LayerParameter& param) {
if (engine == TanHParameter_Engine_DEFAULT) {
engine = TanHParameter_Engine_CAFFE;
#ifdef USE_CUDNN
engine = TanHParameter_Engine_CUDNN;
if (Caffe::mode() == Caffe::GPU)
engine = TanHParameter_Engine_CUDNN;
#endif
}
if (engine == TanHParameter_Engine_CAFFE) {
Expand Down

0 comments on commit 10666ec

Please sign in to comment.