caffe源码解析 — SyncedMemory.cpp

主要参考:linger

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值