1. 程式人生 > >【Caffe】為什麼Caffe裡頭有mutable_cpu_data和cpu_data

【Caffe】為什麼Caffe裡頭有mutable_cpu_data和cpu_data

const void* SyncedMemory::cpu_data() {
  to_cpu();
  return (const void*)cpu_ptr_;
}
void* SyncedMemory::mutable_cpu_data() {
  to_cpu();
  head_ = HEAD_AT_CPU;
  return cpu_ptr_;
}

他們之間就相差一個
head_ = HEAD_AT_CPU;
這是為什麼呢?為啥需要這樣做?

我想原因就是
當你想讀取資料的時候請使用cpu_data
當然想修改資料的時候請你使用mutable_cpu_data。
這樣就提示系統資料我改過啦,你要小心了的意思。

第一個cpu_data表示可讀;第二個mutable_cpu_data表示可讀寫