零拷贝内存 固定内存

一、总览

在这里插入图片描述

虚拟内存是一种计算机内存管理的技术,它让程序认为程序自身有一段完整的连续可用的内存(一个地址空间)。当程序运行时所占的内存空间大于物理空间容量,操作系统可以将暂时不用的数据放入到磁盘,用的时候再拿出来,这样磁盘有一部分空间就是用来存放这样的数据,即ram与硬盘的临时空间结合使用,这个临时空间就叫虚拟内存。每个程序用的虚拟地址相互独立,不同的程序可以使用相同的虚拟地址。
物理地址就是物理内存上的地址,但虚拟地址空间是一个空间,不是真正存在的,只是通过CPU的寻址虚拟出来的一个范围,操作系统和软件(其实操作系统也可以说是软件)可以根据cpu的最大寻址范围来建立自己的寻址范围。而虚拟内存是实实在在的硬盘的空间。


二、固定内存 p 127 p_{127} p127

主机内存分为 可分页内存(Pagable) 和 固定内存(Pinned Memory)

1、对于可分页内存:(由 M a l l o c Malloc Malloc分配的)
因为主机虚拟内存中分配的数据在物理内存中是随时可能被移动的(虚拟内存技术),所以当数据在可分页内存时,系统随时可能会移动数据,
此时将该数据传输给GPU时,需要将可分页内存复制到一块“临时的”页锁定内存,然后再从这块“临时的页锁定内存“复制到GPU
页锁定内存是占用系统的物理内存的,并不能交换到磁盘上,当机器的物理内存比较少时程序运行会受到影响

2、对于固定内存:(由 c u d a M a l l o c H o s t cudaMallocHost cudaMallocHost分配的)
固定内存是页面锁定的并且对设备来说是可访问的,由于固定内存能被设备直接访问,所以允许更好的带宽进行读写。
需要注意的是,分配过多的固定内存可能会降低主机系统的性能,这是因为它减少了用于存储虚拟内存数据的可分页内存的数量。使用固定内存在CPU与GPU间传输数据有更高的性能,但是要慎用。


三、零拷贝内存

主机和设备都可以访问零拷贝内存。
零拷贝内存的技术实现主要靠固定内存(不可分页),该内存映射到设备地址空间中。(有点像虚拟技术和分页的关系)

https://blog.csdn.net/DU_YULIN/article/details/123365688

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6667.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux--高级IO--select--0326

目录 IO为什么低效? 1.快速理解五种IO模式 2.五种IO模型 3.非阻塞IO fcntl() 4.IO多路转接 select select fd_set类型 struct timeval*类型 5.Select的代码测试 5.1 问题一:一开始,我们只有一个listen套接字 5.2 问题二&#xff1…

《项目管理知识体系指南(PMBOK)》第7版之8大绩效域

项目绩效域被定义为一组对有效交付项目成果至关重要的相关活动。 《项目管理知识体系指南(PMBOK)》第7版将项目管理划分为干系人、团队、开发方法和生命周期、规划、项目工作、交付、测量、不确定性共8大绩效域。 一、干系人绩效域 解决与干系人相关的…

【对YOLOv8(ultralytics)打印测试结果的调整】(1)使得map值打印显示从0.551变为55.08 (2)打印出FPS

目录1. 最终打印效果2. 做两处更改2.1 修改map显示,在ultralytics-main/ultralytics/yolo/v8/detect/val.py中操作2.2 打印FPS,在ultralytics-main/ultralytics/yolo/engine/validator.py中操作❗❗❗ 兄弟姐妹们,如果看习惯了运行train.py时…

PMP应该如何备考?

PMP现在是新考纲,PMP新版大纲加入了 ACP 敏捷管理的内容,而且还不少,敏捷混合题型占到了 50%,前不久官方也发了通知 8月启用第七版《PMBOK》,大家都觉得考试难度提升了,我从新考纲考完下来,最开…

Moonbeam隆重推出您的个人开发小助手 — — Kapa.ai

Moonbeam为开发者提供内容详细的开发者文档和全天候的Discord支持。但假如:有人可以24/7查看Discord并在15秒之内就回复您的问题 — — 新推出的Kapa.ai机器人使这个假如成为现实。Kapa.ai是一款由ChatGPT支持的AI机器人,可以回答关于在Moonbeam上构建的…

【redis】单线程redis为什么这么快

本文以收录专栏 redis核心技术 前言 本专栏为了帮助大家更好的了解学习redis,同时也是自己记录学习redis的内容,包含了大部分的redis核心技术,分布式锁,主从复制等 目录 专题2-单线程redis为什么这么快 2.1redis只有单线程吗&a…

剑指offer-替换空格

替换空格一、解题思想二、代码的实现三、总结一、解题思想 题目:请实现一个函数 ,把字符串中的每个空格替换成”%20“。例如:输入”We are happy.“,则输出”We%20are%20happy.“。 看到这个题目,我第一想到的是&#…

博客1:YOLOv5车牌识别实战教程:引言与准备工作

摘要:本篇博客介绍了本教程的目标、适用人群、YOLOv5简介和车牌识别的意义和应用场景。为后续章节打下基础,帮助读者了解YOLOv5和车牌识别的相关背景知识。 正文: 车牌识别视频 引言 欢迎来到YOLOv5车牌识别实战教程!在这个教程中,我们将一步步教你如何使用YOLOv5进行车…

【Git Bash】项目开发过程中需要知道 git stash 的用法

目录1. git stash的应用场景2. 常用git stash命令2.1 git stash2.2 git stash save "message"2.3 git stash list2.4 git stash show2.5 git stash show -p2.6 git stash apply2.7 git stash pop2.8 git stash drop stash{num}2.9 git stash clear3. stash只会保存已…

简单记录一下软著申请流程

模板我就不放了,网上很多,随便下几个结合就行了 总体来说,我是2023.2.19号寄出,2023.4.6看到成功了,总共50天左右。 大家确实不需要网上买那种服务,我也是第一次申请,感觉还是挺简单的。只要按…

洛谷B2038奇偶ASCII值判断

洛谷B2038 题目描述 任意输入一个字符,判断其 ASCII 是否是奇数,若是,输出 YES,否则,输出 NO 。 例如,字符 A 的 ASCII 值是 65,则输出 YES,若输入字符 B(ASCII 值是 66)&#xff0…

从零开始学习Kotlin,带你快速掌握该编程语言

前言 Kotlin是一种跨平台的静态编程语言,它可以在JVM、Android、浏览器、iOS等多个平台上运行。Kotlin的语法简洁易懂,具有高度的可读性和可维护性,同时还具有Java所不具备的许多优点。 Kotlin是一种静态类型、面向对象、函数式编程语言&am…

iOS 项目嵌入Flutter 运行

一 创建Flutter 模块命令行flutter create --template module my_flutter创建完成后,该模块和普通的Flutter项目一直,可以通过Android Studio或VSCode打开、开发、运行;和之前项目不同的iOS和Android项目是一个隐藏文件,并且我们…

多模态 |COGMEN: COntextualized GNN based Multimodal Emotion recognitioN论文详解

论文:COGMEN: COntextualized GNN based Multimodal Emotion recognitioN COGMEN: 基于GNN的多模态情感识别技术 论文实现可参考另外一篇论文: 本文主要分为俩部分,一是对论文的简单概括,二是对论文的翻译。 论文总结 论文翻译…

【学习笔记】SpringAOP的用法全解

文章目录Spring的AOP一、 Spring对AOP的实现包括以下3种方式**什么是AspectJ?**二、使用Spring的AOP1、准备工作2、尝试写一个简单的AOP demo3、代码如下:spring.xml业务类切面类测试类4、复习切面表达式1)所有方法2)指定路径下某个包及其子…

开心档之C++ 运算符

目录 C 运算符 算术运算符 实例 实例 关系运算符 实例 实例 逻辑运算符 实例 实例 位运算符 实例 实例 赋值运算符 实例 实例 杂项运算符 C 中的运算符优先级 实例 实例 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 内置了丰富的运算符&…

算法设计-二分

一、有序和单调 ​ 二分本质上是一种更加智能的搜索状态空间的方式,他需要状态空间的状态呈现一种“有序的一维数组”的形式,然后再进行搜索。所以一开始的排序是无法避免的。 ​ 因为二分的写法问题,所以应当怎样排序也是有一定讲究的&…

黑马程序员 linux 学习笔记入门部分合集

ubuntu 安装 本课程使用 ubuntu 系统。 ubuntu 官网 - download。 上面会显示有两个版本,每年 ubuntu 发布两个版本,LTS 是长期维护版,所以相对会较稳定。 介绍 Linux 发行版本 不管什么版本,内核都是一样的。 RPM based&a…

“遥感+”蓝碳储量估算、红树林信息提取与论文写作

详情点击链接:“遥感”蓝碳储量估算、红树林信息提取与论文 一,光谱遥感数据及预处理 .1高光谱遥感数据 高光谱分辨率遥感是用很窄而连续的光谱通道对地物持续遥感成像的技术。在可见光到短波红外波段其光谱分辨率高达纳米数量级。高光谱图像数据…

Linux-Vim

一、Vim 配置 ​ vim界面打开以后很丑就不提了,关键有很多基本功能没有办法实现,所以需要自己配置,如果是linux系统,那么应该找到 /usr/share/vim/.vimrc​ 如果是windows装完git以后会自动一个vim,此时应该找到 Gi…