如何知道CAFFE代码是使用GPU还是CUDA代码运行?

时间:2017-04-09 10:54:46

标签: machine-learning deep-learning caffe

我知道CAFFE中的几乎所有层都可以在CPU / GPU中运行。在GPU的情况下,它有一些模式,称为引擎。如果engine=CAFFE,它将使用GPU和engine=CUDNN运行,它将基于CUDA代码运行。默认为DEFAULT模式

在我的Makefile.config中,我在build caffe

时打开CUDNN模式
# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1

在我的原型文本中,我有一个图层,例如Deconvolution图层

layer {
  name: "DeconvolutionLayer"
  type: "Deconvolution"
  bottom: "conv1"
  top: "DeconvolutionLayer"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 2
    stride: 2
    weight_filler {
      type: "msra"
    }    
  }
}

请注意,我没有为engine标志设置任何值。当我运行时,将使用哪种模式,GPU还是CUDNN?培训脚本是

caffe/build/tools/caffe train --solver=solver.prototxt -gpu 0

1 个答案:

答案 0 :(得分:0)

如果您查看caffe.proto,请说"The default for the engine is set by the ENGINE switch at compile-time."。如果查看layer_factory.cpp如果设置了USE_CUDNN,则默认引擎设置为cuDNN。所以在你的情况下它是CUDNN。