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

Posted

技术标签:

【中文标题】如何知道 CAFFE 代码是使用 GPU 还是 CUDA 代码运行?【英文标题】:How to know if CAFFE code is running using GPU or CUDA code? 【发布时间】:2017-09-04 11:26:46 【问题描述】:

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

在我的 Makefile.config 中,我在构建 caffe 时打开了 CUDNN 模式

# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1

在我的prototxt中,我有一个层,例如,反卷积层

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】:

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

【讨论】:

以上是关于如何知道 CAFFE 代码是使用 GPU 还是 CUDA 代码运行?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 Caffe 是不是正在使用我的 GPU?

News|贾扬清回复:如何看待 Caffe2 代码并入 PyTorch ?

Caffe框架GPU与MLU计算结果不一致请问如何调试?

Caffe框架GPU与MLU计算结果不一致请问如何调试?

ubuntu16.04安装caffe的GPU版本

openSUSE 多个GPU设置 深度学习 Caffe PyTorch 等