对深度学习程序进行性能优化之前该理解的几个知识点(一)
簇:数据存储在硬盘的时候都是以簇为单位的,即数据存储的单位。无论文件的大小如何,除非正好是簇的整数倍,否则文件所占用的最后一个簇都会产生一些剩余空间。并且这些剩余空间不能为其他文件所用,即使是这个文件只有0字节,也不能允许两个文件及以上共用一个簇,否则会造成数据的混乱。
CPI含义为每指令周期数,IPC即每周期指令数,CPI=1/IPC。
PMU(Performance Monitoring Unit):性能监控单元。
PI/Cycle事件计数指标,其中PI可以是任何一个PMU事件记数,cycle为处理器周期。
icache用来缓存指令,dcache =用来缓存数据。cup与主存之间存在多级高速缓存,一般分为三级,分别为L1,L2,L3,代码由指令和数据组成。L1Cache比较特殊,每个CPU会有两个L1Cache,分别为指令高速缓存(Instruction Cache 简称ICache)和数据高速缓存(DataCache,简称dCache)。L2,L3一般不区分指令和数据,可以同时缓存指令和数据。
为什么区分指令和数据?
性能考量:CPU在执行程序时,可以同时获得指令和数据,做到硬件上的并行,另外指令和数据有很大的不同。如指令不会被修改,所以iCache在硬件设计上是可以只读的,这在一定程度上降低硬件设计的成本。
DTB(Data Transfer Bus)数据传输总线
DMA(Direct Memory Access,直接存储器访问)它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。DMA传输将数据从一个地址空间复制到另一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。典型例子就是移动一个外部内存的区块到芯片内部更快的内存区。
Mem(内存),MEM_ACCESS指应用程序的可用内存。
API(Application Programming Interface,应用程序接口),是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。
proc是一种虚拟文件系统,也叫进程数据文件系统,其信息不是存储在块设备中,在读取、proc目录下的文件的时候才会去动态生成。/proc文件系统可以获得很多进程信息。
/proc文件系统的容量依系统而不同(如硬件配置、体系结构)。主要包括以下:
系统进程的特征数据
内存管理
文件系统
设备驱动程序
系统总线
电源管理
终端
系统控制参数
对深度学习程序进行性能优化之前该理解的几个知识点(一)相关推荐
- 深入云原生 AI:基于 Alluxio 数据缓存的大规模深度学习训练性能优化
作者 | 车漾(阿里云高级技术专家).顾荣(南京大学 副研究员) 导读:Alluxio 项目诞生于 UC Berkeley AMP 实验室,自开源以来经过 7 年的不断开发迭代,支撑大数据处理场景的数 ...
- 工程之道,解读业界最佳的深度学习推理性能优化方案
本文转载自旷视研究院 MegEngine「训练推理一体化」的独特范式,通过静态图优化保证模型精度与训练时一致,无缝导入推理侧,再借助工业验证的高效卷积优化技术,打造深度学习推理侧极致加速方案,实现当前 ...
- 深度学习推理性能优化,一个越来越重要的话题
向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 为什么我们开始关注和重视推理性能的优化. 天时 深度学习的上半场主题是自证, 数据科学家们设计 ...
- 阿里云原生实践:基于 Alluxio 数据缓存的大规模深度学习训练性能优化
导读:Alluxio 项目诞生于 UC Berkeley AMP 实验室,自开源以来经过 7年的不断开发迭代,支撑大数据处理场景的数据统一管理和高效缓存功能日趋成熟.然而,随着云原生人工智能(Clou ...
- JavaScript 深度剖析 - JavaScript 性能优化
文章目录 一.性能优化介绍 二.JavaScript 内存管理(Memory Management) 2.1 内存管理介绍 2.2 JavaScript 中的内存管理 三.JavaScript 中的垃 ...
- gc的原因 频繁full_Java性能优化要点之:GC垃圾回收知识点整理
要掌握了GC垃圾回收的相关知识点,程序员在工作中就不用担心内存管理了,因为垃圾收集器会自动进行管理.本文为大家整理了GC垃圾回收的学习笔记,主要内容包括了判断回收条件,虚拟机频繁full GC的解决对 ...
- 开源100天,OneFlow送上“百天大礼包”:深度学习框架如何进行性能优化?
11月8日是OneFlow开源100天的纪念日,为了这个有纪念性的日子,我们为大家准备了一个"百天大礼包"--深度学习框架性能优化系列文章,希望能和大家共同探讨开源框架如何进行优化 ...
- Android 性能优化 之谈谈Java内存区域
最近一年副业主要在学习投资和技能学习,把以前学习内存分析的一些笔记总结发出来,写了很多笔记总结都没有写完就又忙着了,最近再次总结复习学习一遍,还有提醒各位同学一定要学会投资.. 了解Android 内 ...
- 开发人员如何解决Linux性能优化之痛?
这些问题或者场景,你是否曾经遇到过? • 流量高峰期,服务器CPU使用率过高报警,你登录Linux上去top完之后,却不知道怎么进一步定位,到底是系统CPU资源太少,还是程序并发部分写的有问题? • ...
- mysql客户端工具_性能优化-理解 MySQL 体系结构(MySQL分库分表)
实例和数据库 我们通常所说的 MySQL 数据库服务器由一个实例(instance)以及一个数据库(database)组成.实例包括一组后台进程/线程和许多内存结构,用于管理数据库:数据库由一组磁盘文 ...
最新文章
- 27岁的张一鸣教给我们工作上的那些事
- BZOJ 3930 [CQOI2015]选数
- 高级线性表——静态链表(最全静态链表解读)
- Windows 10体验:文件资源管理器变成了首页
- python异或运算怎么算_小强学Python+OpenCV之-1.4.4掩膜mask及位运算(与、或、非、异或)...
- python123蟒蛇代码_巨蟒python全栈开发-第3天
- java 接口中的成员只有静态常量和_Java中抽象类和接口的具体区别是什么?
- jquery操作表格
- 251f与ips屏显示器对比_8百左右预算,2020年PS平面设计/摄影后期显示器推荐/选购指南(全高清+高色域屏)...
- ORA-28002 Oracle口令过期
- 实现真正的「人机」对战:引入三方 AI 引擎
- python就业班2017_2017黑马Python就业班视频教程
- 电脑文件夹都有什么奇葩的名称?程序员:从古至今没有出过车祸!
- 做后期必备!500组HDR贴图分享与使用方法讲解
- http的响应码200,404,302,500表示的含义分别是?
- 【Java类的封装性】封装的日期类。Person类,使用对象作为成员变量并实现深拷贝。(利用了类的封装性)
- Unity2018.3.11下载安装详细图文教程
- 2018年最新黑马前端视频教程视频与源码全集
- 802.11a data rate
- 【图文详解】一文全面彻底搞懂HBase、LevelDB、RocksDB等NoSQL背后的存储原理:LSM-tree日志结构合并树...