首页 > 其他分享 >ncnn的blob_vkallocator、workspace_vkallocator、staging_vkallocator区别

ncnn的blob_vkallocator、workspace_vkallocator、staging_vkallocator区别

时间:2023-12-25 17:59:17浏览次数:39  
标签:set staging workspace blob 分配器 vkallocator ncnn

ncnn::Extractor中有三个成员函数:

void set_blob_vkallocator(VkAllocator* allocator);

void set_workspace_vkallocator(VkAllocator* allocator);

void set_staging_vkallocator(VkAllocator* allocator);

blob_vkallocator是一个用于blob数据的分配器,它可以为一些长期存储或常用的数据分配内存。它通常用于一些需要持久保存或重复使用的场景,例如模型的权重或输入输出的数据。

 

staging_vkallocator是一个用于临时数据传输的分配器,它可以快速地分配和释放内存,但是不保证内存的持久性。通常用于将CPU上的数据复制到GPU上,或者将GPU上的数据读回到CPU上。


workspace_vkallocator是一个用于工作空间的分配器,它可以为一些中间计算结果或临时变量分配内存。它通常用于一些需要多次计算或迭代的场景,例如神经网络的推理。


标签:set,staging,workspace,blob,分配器,vkallocator,ncnn
From: https://www.cnblogs.com/hyb1/p/17926643.html

相关文章