首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/390024

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

如何让手机快速运行AI应用?这有份TVM优化教程

本文来自AI新媒体量子位(QbitAI) 在移动设备上部署深度神经网络的需求正在快速增加。 和桌面平台类似,GPU也能在移动平台加速推理速度、降低能耗。但问题是,大多数现有深度学习框架并不能很好的支持移动GPU。 为什么会这样?因为移动GPU和桌面GPU在架构上存在差异。 所以想要利用移动GPU,还得进行专门的优化。这种额外的工作,最终导致的结果就是大多数深度学习框架都对移动GPU的支持不足。 TVM通过引入一个统一的IR堆栈来解决不同硬件平台的部署问题。使用TVM/NNVM可以为ARM Mali GPU生成高效内核,并且进行端到端的编译。 基于Mali-T860 MP4的测试结果表明,与Arm Compute Library相比,上面这个方法在VGG-16上快1.4倍,在MobileNet上快2.2倍。 在郑怜悯发表的这篇文章中,他还从GPU

实现缓存最终一致性的两种方案

一、重客户端 写入缓存: image.png 应用同时更新数据库和缓存 如果数据库更新成功,则开始更新缓存,否则如果数据库更新失败,则整个更新过程失败。 判断更新缓存是否成功,如果成功则返回 如果缓存没有更新成功,则将数据发到MQ中 应用监控MQ通道,收到消息后继续更新Redis。 问题点:如果更新Redis失败,同时在将数据发到MQ之前的时间,应用重启了,这时候MQ就没有需要更新的数据,如果Redis对所有数据没有设置过期时间,同时在读多写少的场景下,只能通过人工介入来更新缓存。 读缓存: 如何来解决这个问题?那么在写入Redis数据的时候,在数据中增加一个时间戳插入到Redis中。在从Redis中读取数据的时候,首先要判断一下当前时间有没有过期,如果没有则从缓存中读取,如果过期了则从数据库中读取最新数据覆盖当前Redis数据并更新时间戳。具体过程如下图所示: image.png 二、客户端数据库与缓存解耦 上述方案对于应用的研发人员来讲比较重,需要研发人员同时考虑数据库和Redis是否成功来做不同方案,如何让研发人员只关注数据库层面,而不用关心缓存层呢?请看下图: image.pn...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。