首页 > 其他分享 >TensorFlow和pytorch中的pin_memory和non_blocking设置是做什么的,又是否有用???

TensorFlow和pytorch中的pin_memory和non_blocking设置是做什么的,又是否有用???

时间:2022-11-11 20:58:24浏览次数:77  
标签:non pin pytorch CUDA memory blocking

因为最早接触CUDA是大学时代,至今已经十多年了,有些东西用习惯了、时间久了就不太care了,最近由于工作原因又搞了会CUDA和深度学习的框架,看到pin_memory和non_blocking这两个参数设置,每次看到都想写些分析的technical report,最近由于疫情窝在家也正好是旧事重提,便有了本post。

 

 

====================================================

 

 

 

pin_memory的设置是几乎所有深度学习框架dataloader中的参数,而non_blocking参数主要在pytorch中有发现使用。

 

其实对cuda编程有些了解的人对这两个参数从字面上就可以理解个大概。

 

首先说下pin_memory :

相关介绍可以看:https://developer.nvidia.com/blog/how-optimize-data-transfers-cuda-cc/

上面链接地址中有一个比较形象的图:

 

标签:non,pin,pytorch,CUDA,memory,blocking
From: https://www.cnblogs.com/devilmaycry812839668/p/16881828.html

相关文章

  • pytorch的梯度求导问题
    实验数据:x1=torch.tensor([1,2],dtype=torch.float,requires_grad=True)x2=torch.tensor([3,4],dtype=torch.float,requires_grad=True)x3=torch.tensor([5......
  • onps栈使用说明(2)——ping、域名解析等网络工具测试
    1.ping测试协议栈提供ping工具,其头文件为“net_tools/ping.h”,将其include进你的目标系统中即可使用这个工具。……#include"onps.h"#include"net_tools/ping.h"/......
  • Pytorch随机种子设置及原理
    深度学习网络模型中初始的权值参数通常都是初始化成随机数,而使用梯度下降法最终得到的局部最优解对于初始位置点的选择很敏感,下面介绍Pytorch中随机种子的设置及其原理。......
  • 基于OpenJDK Alpine制作日常java基础镜像
    Dockerfile内容如下:FROMeclipse-temurin:8-jre-alpineMAINTAINERdevops(devops@example.com)RUNapkupdate&&apk--no-cacheaddtzdatattf-dejavufontconfig......
  • DataLoader 每次迭代返回BatchEncoding还是dict类型依pytorch的版本而定
    发现DataLoader在不同的pytorch版本上,执行dataset的__item__会返回不同的效果。pytorch在1.12.1上,每一次迭代会返回BatchEncoding这个类型(可能会比这个版本低也......
  • 【开源】 bsf.mvc spingboot的扩展
    1.自动requestmapping(无需配置)实现。2.freemarkerjava扩展实现,使freemarker更加便于使用。3.request参数大小写兼容实现,传入参数不再区分大小写......
  • Pytorch笔记:dataloader的collate_fn参数在加载数据集时的作用
    1.前言最近在复现MCNN时发现一个问题,ShanghaiTech数据集图片的尺寸不一,转换为tensor后的shape形状不一致,无法直接进行多batch_size的数据加载。经过查找资料,有人提到可以......
  • vulnhub靶场之DRIPPING BLUES: 1
    准备:攻击机:虚拟机kali、本机win10。靶机:DRIPPINGBLUES:1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/drippingblues/drip......
  • Pandas将读取文件数据的NaN值转换为None
    有文件data.csv,数据如下:使用pandas读取该文件的数据importpandasaspddf=pd.read_csv('data.csv')print(df)结果如下nameageheightweight0Tony......
  • conda 虚拟环境安装pytorch & d2l包
    conda虚拟环境安装pytorch1、首先,conda终端添加清华镜像源,可以加快安装速度。2、确认电脑匹配的CUDA型号,(例如,9.2)3、新建一个虚拟环境,在终端运行condacreate-nXXXp......