83、评估权值预加载带来的性能提升

上两节介绍的权值预加载技术,在很多业务中是真实存在的。

只不过限于本小册内容以及大部分同学硬件设备的局限,这里无法通过真正的推理框架(比如 tvm, pytorch) + GPU 来实现底层细节,这些推理框架中一般会将类似的优化技术封装起来。

作为 tvm 或者 pytorch 的用户,你一般看不到这些实现细节,除非你是这些框架的开发者。

因此,为了介绍这个优化,我通过 81、82 这两节内容来引入了一个简单的硬件-内存模型。

整个权值预加载技术的实现思路为:尽可能的在执行模型推理前,将权值存放在距离计算单元最近的存储器中,比如内存中或 L2 缓存中。如果你用 CUDA 写过 GPU 的 kernel,可能你会有更深刻的理解。

这里,我们模拟的就是将权值从 txt 文件(硬盘),预加载到了内存中,相比于硬盘,内存距离计算单元(CPU)更近一些。

评估下性能

在相同的环境下,分别运行 2nd_avx2 和 3rd_preload 下的 compile.sh 脚本进行代码编译,然后运行编译后生成的可执行文件 ./resnet。

可以分别获取到权值预加载前后的性能指标。

可以看到性能提升非常明显:优化前平均推理延时为 5044 ms,优化后为 862 ms,性能提升了大概 6 倍。

注意:不同电脑机器不同环境下测出来的性能会有差异,大家只需要比对性能提升的相对值即可。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

APPium简介及安装

1 APPium简介 1. 什么是APPium? APPium是一个开源测试自动化框架,适用于原生、混合或移动Web应用程序的自动化测试工具。 APPium使用WebDriver协议驱动iOS、Android等应用程序。 2. APPium的特点 支持多平台(Android、iOS等) …

uniapp组件库Card 卡片 的使用方法

目录 #平台差异说明 #基本使用 #配置卡片间距 #配置卡片左上角的缩略图 #配置卡片边框 #设置内边距 #API #Props #Slot #Event 卡片组件一般用于多个列表条目,且风格统一的场景。 #平台差异说明 AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程…

基于STM32的以太网通信协议选择与实现

在基于STM32的以太网通信中,主要涉及到选择合适的通信协议和实现对应的功能代码。常见的通信协议包括TCP/IP、UDP、HTTP等,选择合适的协议取决于具体应用需求。以下将介绍在STM32上进行以太网通信时,常用的通信协议选择以及对应功能代码的实现…

CSDN·COC城市开发者组织2023年度聚会上海站纪实

目录 前言活动宣传活动议程活动总结结束语 前言 2023年是CSDNCOC成立之年,经过一年的不断发展和壮大,COC上海城市开发者社区的队伍不断壮大,本着每个月都有线下活动的原则,先后举办大大小小的线下沙龙活动20余场。与此同时&…

trucksim三车队列仿真 matlab一直闪退问题

Trucksim2019 matlab版本2023a 基本框架应该都清楚 下图是主界面 overlay videos and polots with other runs 模块是 关联另一个车辆模型 核心是下图标红是核心 Number of vehicle codes 选择ALL 不要选

世微AP5151芯片低压差 线性降压 恒流驱动IC 台灯 指示灯 矿灯

概述 AP5151 是一种低压差、线性降压、 固定输出电流的 LED 恒流驱动器。 除 LED 外,AP5151 无需外接其它元 器件即可构成一个恒流输出的 LED 驱动 电路。 AP5151 内置过热保护功能,可有效 保护芯片,避免结温超过 120oC 时因过热 而造成损坏…

【图形学】双三次贝塞尔曲线绘制方法

双三次贝塞尔曲线的定义 双三次贝塞尔曲面是由16个控制点定义的曲面,通常表示为4x4矩阵。 曲面的公式如下: p ( u , v ) ∑ i 0 3 ∑ j 0 3 P i , j B i , 3 ( u ) B j , 3 ( v ) , ( u , v ) ∈ [ 0 , 1 ] [ 0 , 1 ] p(u,v)\sum_{i0}^3\sum_{j0}…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson10(电话会话Ⅱ)

《美语从头学初级入门篇》 注意:被 删除线 划掉的不一定不正确,只是不是标准答案。 文章目录 Lesson 10 Telephone Conversation Ⅱ 电话会话(二)会话A会话B笔记I would like to do(Id like to to do)我想…

如何从视频号中提取视频的文案?抖音文案也可提取

最近不少小伙伴刷抖音看看视频一个一个的进行抄,太慢了。​今天分享一个工具搞定怎么提取视频文案的方法! 提取文案小助手 提取文案小助手是专注视频创作者的利器,帮助用户一键提取视频号中的文案,获取的方式比较简单&#xff0c…

Sui TVL跻身全链前十名|全面详解Sui原生功能如何促使DeFi蓬勃发展

根据DefiLlama数据显示,1月28日Sui TVL超过4.02亿美元,跻身所有区块链TVL前十名! Sui的创新应用原生功能为DeFi应用铺平了道路,为用户提供了良好的体验。每个原生功能,从促进高效的共享流动性到简化用户互动&#xff0…

js中contextmenu、click和mousedown的区别在哪?

contextmenu、click和mousedown的定义 contextmenu:在鼠标右键点击时触发。可以在此事件中执行特定的操作,比如显示自定义的右键菜单或者阻止浏览器默认的上下文菜单弹窗。它是为了满足特定场景下对右键点击的定制化处理需求。 click事件是通用的鼠标点…

印章制作办法

印章制作办法: 最近在做单位技术支持的培训,需要增加个培训章,自己内容完成即可。 一、excel表格中 ,插入-形状-圆(按住shift按键) 操作三步: 1.填充 无 : 2.形状轮廓 ---“红色…

代码随想录算法训练营day15|104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数 104.二叉树的最大深度 (优先掌握递归) 什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍…

数据结构—栈实现后缀表达式的计算

后缀表达式计算 过程分析 中缀表达式 (15)*3 > 后缀表达式 153* (可参考这篇文章:中缀转后缀) 第一步:我们从左至右扫描 后缀表达式(已经存放在一个字符数组中),遇到第一个数字字符 ‘1’ 放入栈中第二步&#xf…

幻兽帕鲁服务器出租,腾讯云PK阿里云怎么收费?

幻兽帕鲁服务器价格多少钱?4核16G服务器Palworld官方推荐配置,阿里云4核16G服务器32元1个月、96元3个月,腾讯云换手帕服务器服务器4核16G14M带宽66元一个月、277元3个月,8核32G22M配置115元1个月、345元3个月,16核64G3…

存储技术架构演进

一. 演进过程 存储技术架构的演进主要是从集中式到分布式的一种呈现,集中式存储模式凭借其在稳定性和可靠性方面的优势成为许多业务数据库的数据存储首选,顾名思义,集中式存储主要体现在集中性,一套集中式管理的存储系统&#xff…

python:socket基础操作(4)-《tcp客户端基础》

tcp就和udp不一样了,tcp是客户端和服务器端,如果想通过tcp发送数据,要先让tcp进行连接服务器端 tcp客户端 先让服务器端进行启动 import socketdef main():# 创建套接字tcp_client_socket socket.socket(socket.AF_INET,socket.SOCK_STREAM…

RSTP的P/A机制

如图所示根桥S1和S2之间新添加了一条链路,在当前状态下S2的另外几个端口p2是Alternate端口,p3是指定端口且处于Forwarding状态,p4是边缘端口。新链路连接成功后,P/A机制协商过程如下。 1.P0和P1两个端口马上都先成为指定端口发送RS TBPDU。 2.S2的P1口收到更优的RST BPD…

Google Chrome 中出现 ERR_SSL_KEY_USAGE_INCOMPATIBLE 错误

证书的方式发生了变化,出现了这个新错误,导致我无法浏览该网站。 可以右键属性获取位置 关闭导航器chrome并转到文件夹,找到Local State文件并删除 执行指令结束进程,重新打开浏览器即可 taskkill /im "chrome.exe"…

fastapi报错

初始化报错,非常低级错,扇自己10八张 app FastApi()