SyncedMemory::~SyncedMemory()
功能:析构函数
步骤:1.如果有CPU数据则释放
2.如果有GPU数据则释放
inline void SyncedMemory::to_cpu()
功能:把数据放到cpu上
1.数据未初始化,则在cpu申请内存(申请为0)。此时状态为HEAD_AT_CPU
2.数据本来在gpu,则从gpu拷贝内存到cpu。此时状态为SYNCED
3.数据本来在cpu,不做处理
4.数据在cpu和gpu都有,不做处理
inline void SyncedMemory::to_gpu()
功能:把数据放到gpu上
1.数据未初始化,在gpu申请内存(申请为0)。此时状态为HEAD_AT_GPU
2.数据在cpu,从cpu拷贝到gpu。此时状态为SYNCED
3.数据在gpu,不做操作。
4.数据在cpu和gpu都有,不做操作。
const void* SyncedMemory::cpu_data()
功能:返回数据在cpu的指针
void SyncedMemory::set_cpu_data(void* data)
功能:清空CPU的数据
void* mutable_cpu_data()
功能:返回数据在cpu的指针,并改变数据的状态为HEAD_AT_CPU
void* mutable_gpu_data()
功能:返回数据在cpu的指针,并改变数据的状态为HEAD_AT_GPU