im2col.cu文件直接去掉,那在GPU环境下是不是就直接走im2col.cpp文件了呢?

如果把im2col.cu文件直接去掉,那在GPU环境下是不是就直接走im2col.cpp文件了呢?着急求助。。。
已邀请:

phoenixbai

赞同来自:

不会。
走CPU还是GPU,在parent level layer上在做控制,比如,在layer.hpp里可能根据caffe mode去决定,调layer的forward_cpu还是forward_gpu,接着,走进这一层后,有的layer,会说若没有实现forward_gpu,就回调forward_cpu吧。这种,还是属于父类里面可能会写的逻辑,但到了子类,比如conv_layer,它就只有forward_cpu/forward_gpu具体的实现,已经没有任何调度逻辑了。
 
im2col,是非常非常底层的运算类,控制走GPU还是什么,在它很上面的上面已经决定了,到它这一层时,只有简单的调用,没有就报错。
 
关键,你这个编译就不会过,还需要问嘛?!开启CPU_ONLY,过的可不算啊!

要回复问题请先登录注册