Original url:
https://www.zhihu.com/question/49432190/answer/132305638
即通过修改cpu的值来修改gpu的值,caffe中cpu和gpu的值是一样的。
猜测:gpu在内存中的map地址和cpu在内存中的map地址是一样的。。。。故修改cpu的值即是修改了gpu的值。。。。
示例:
貌似不可以用这种方式修改gpu的值。要进到kernel里面才可以
可以用下面这种方式
Dtype* mask_data_cpu = mask_.mutable_cpu_data();
for (int j = 0; j < bottom[0]->num(); ++j)
{
mask_data_cpu[j] = 0;
}
然后
const Dtype* mask_data = mask_.gpu_data();
可以用下面这种方式
Dtype* mask_data_cpu = mask_.mutable_cpu_data();
for (int j = 0; j < bottom[0]->num(); ++j)
{
mask_data_cpu[j] = 0;
}
然后
const Dtype* mask_data = mask_.gpu_data();