关注模型压缩、低比特量化、移动端推理加速优化、部署
导读:【新闻】TFLite技术主管离职重返学校、国内GPGPU又添一员砺算科技并完成数亿元融资、AMD完成对赛灵思的并购FPGA成行业第一、国家级东数西算全面解读;【论文】全二值化自然语言模型BiBERT、轻量级轻骨干重Neck的目标检测模型GiraffeDet、华为诺亚发布适用于GPU的模型G-GhostNet、计算所带来的GNN如何加速的算法体系综述;【开源】可集成各种深度学习框架的张量加速计算项目Einops、NCNN提出的PNNX中间格式强化Pytorch+ncnn生态且最近发新版、华为深度学习框架MindSpore发1.6版本;【博文】来自旷视的CUDA矩阵乘终极优化、LLVM IR,SPIR-V到MLIR的IR与编译器的思考、来自NVDIA同学的《GPU架构变迁之AI系统视角:从费米到安培》。
好了,先是一些热身小新闻ヽ(✿゜▽゜)ノ:
- 美国:美众议院的法案授权拨款近3000亿美元用于研发,520亿美元用于补贴半导体制造以及汽车和电脑用关键部件的研究;
- 欧盟:公布《欧盟芯片法案》,砸3000亿元巨额投资和补贴,力争实现2030年芯片市场欧盟份额翻一番,达到全球20%;
- 日本:日政府计划设立一项补贴计划,协助企业开发芯片等关键材料。日本去年已决定补贴台积电与索尼集团在熊本县建设22/28nm晶圆厂,计划提供约5000 亿日圆(约合人民币278.1亿元)补贴;
- 软银 & Arm:英伟达收购 Arm 交易失败,软银宣布 Arm 将 IPO ,Arm 中国发言人称“作为其在中国的长期合作伙伴和价值贡献者,完全支持 Arm 的 IPO 计划”;
- 智能手机:Counterpoint Research 2021Q4报告,2021Q4中国智能手机出货量同比下降 11% 。苹果居首位,OPPO加上子品牌 OnePlus 升至第三,vivo第四,小米跌至第五位,延续跌势;CINNO Research数据,2021年中国智能手机SoC市场终端销量为3.14亿颗,联发科和高通分别以1.1亿颗和1.06亿颗位居第一和第二位;
- Arm:推出专为汽车应用的性能和安全的IP Mali™-C78AE ISP。搭配Cortex®-A78AE与Mali-G78AE的Mali-C78AE,加速实现安全可靠的ADAS和自动驾驶新功能;
- 苹果:今年9月预计将推出iPhone 14,并搭载4nm A16仿生芯片(台积电),架构与A15类似,6颗CPU内核,两颗性能核四颗效率核,可能具备超16核心神经网络引擎,GPU方面,A16和A15一样,分成4 GPU内核和5 GPU内核两版本。芯片已设计完成,预计今年下半年量产;M2芯片将到来,预计M2芯片的CPU性能会比M1更快且同样8核架构,GPU将从7/8核架构增强到9/10核,NPU细节未知;
- 英特尔:①2月17日,CEO表示:“我们不是ARM的大客户,但也确实在用ARM的技术。随着我们将ARM纳入我们的代工业务,我们将成为ARM的更大客户。若有财团收购ARM,我们愿意参与”;②将开放 x86 架构的软核和硬核授权,使客户能够在定制设计芯片中混合 x86、Arm 和 RISC-V 等 CPU IP 核;③2月15日,拟60亿美元收购高端模拟芯片代工厂以色列高塔半导体公司,加深英特尔在代工芯片制造的地位;④英宣布加入RISC-V International,投资10亿美元全力支持RISC-V,目的通过自家的芯片架构和先进封装,以加快客户产品进入市场;④近日,英特尔挖走了 AMD 的首席 Radeon 独立 GPU 架构师 Rohit Verma。他之前曾供职于英特尔,职位首席SoC架构师,任期从1999年起14年;
- 联发科:①定位次旗舰的天玑8000系列处理器曝光,4xA78@2.75GHz+4xA55@2.0GHz+Mali-G510(MC6),81000预计比8000频率高些但规格一样,传闻采用台积电5nm工艺与骁龙870抗衡。预计相关机型3月上市发布;②Pentonic 2000旗舰智能电视芯片(台积电 7nm),强劲 CPU+GPU+APU,APU拥有多项先进AI能力如超级分辨率,支持8K 120Hz超清显示;
- 三星:继联发科天玑9000、高通骁龙8 Gen1之后安卓阵营第三款4nm旗舰移动芯片Exynos 2200,采用“1@X2+3@A710+4@A510”设计,NPU的性能相比上一代有双倍提升,支持精度包括INT8、INT16、FP16。但GPU基准测试(GFXBench Aztec Ruins(Normal)),帧率低于骁龙8。但多核成绩超骁龙8,Exynos 2200将于Galaxy S22首发;
- 高通:①下一代高通旗舰为骁龙8 Gen1 plus,台积电4nm工艺并于2022年Q2交付;②因三星代工无法解决4nm骁龙8 Gen1 Plus发热问题,高通找台积电代工,目前Snapdragon8 Gen 1 Plus推测为Cortex-X2的CPU核心,Adreno 730为单个Kryo GPU核心;
- 紫光展锐:董事长变更,赵伟国退出,吴胜武接任,后者自2019年担任清华紫光全球执行副总裁兼厦门统一集团有限公司董事长,也现任全国青联委员、浙江大学电子服务研究院任客座研究员、清华大学兼职导师等职;
- 台积电:①为吸引及留任公司高管及人才,拿700亿元新台币为员工分红;②日本工厂提前开始招人:包括应届生,国籍不限,虽然硕士或博士毕业生,但与国内半导体人才待遇相比,并不算高;③赴美设厂的计划,可能正陷入延宕,已延半年,推测原因应是美国反反覆覆的疫情,再加上人力不足等因素影响;
- ASML:最新年度报告中指出,一家与之前因窃密而判赔的XTAL相关的中国公司,可能销售侵害其知识产权的产品。ASML认为侵害公司是东方晶源微电子,ASML已要求特定客户避免与中国母公司东方晶源微电子业务往来,准备在适当时机采取法律行动;
- 爱芯元智:AI视觉芯片研发及基础算力平台公司爱芯元智——宣布完成8亿元人民币的A++轮融资,将用于产业资源引入,吸引人才等,打造高端芯片;
- 瑞芯微:发布新一代机器视觉方案RV1106及RV1103,两颗芯片在NPU、ISP、视频编码、音频处理等性能均有显著升级,具有高集成度、高性价比、低待机功耗的特点。RV1106及RV1103内置自研第4代NPU,支持int4、in8、int16混合量化,其中int8算力为0.5TOPs,int4算力可达1.0TOPs,RV1106及RV1103采用Cortex-A7 CPU及高性能MCU,内置自研第3代ISP3.2等;
- 哪吒汽车:近期完成20亿元人民币融资,目前估值450亿元人民币,计划年内启动赴港IPO;
- 蔚来:准备进军手机市场,并已开始规模化招人组建团队;
- MINIEYE:完成D2轮数亿元融资,资金将用于巩固公司在量产智能驾驶领域的头部地位,加速研发高阶自动驾驶方案;
- 龙蜥社区:反正国内各家GPGPU公司都在跟它合作就对了。
注:个别链接打不开,请点击文末【项目链接】跳转。
业界新闻
- Google TensorFlow Lite 技术主管皮特·沃登离职,重返斯坦福读博:我在谷歌“太难了” | AI科技评论
摘要:据 Pete Warden 本人推特消息,他将离开谷歌公司,重返斯坦福大学攻读计算机博士学位。
皮特沃登是谷歌公司Tensorflow面向移动和嵌入式设备部分的技术主管,也是 Tensorflow团队的创始成员之一。著有《TinyML》一书,希望让机器学习不再囿于云端超级计算机,而是可以被隐藏于众多小到可以被忽视的电子零件中。
离开谷歌的原因,本人说:“it’s very costly and time-consuming to launch new hardware devices at Google, because the downsides of a failed or buggy launch to any large company’s reputation are so high. ” - 国产GPGPU又添一员:砺算科技完成数亿元天使轮融资,6nm GPU明年上市,对话联合创始人 | 芯东西
摘要:2月23日报道,今日早间,南京GPU创企砺算科技宣布完成数亿元天使轮融资。达泰资本、将门创投、万物创投、海松资本、协立创投等机构参与了本轮融资,融资资金被用于其首款GPU产品开发及团队扩张。
砺算科技成立于2021年8月,是国内GPU创业热潮中最年轻的生力军之一。但与多数聚焦GPGPU的创企不同,它要做“唯一一家可实现从端+云+边的高性能图形渲染的中国公司”。
“唯一”,从何而谈?砺算科技联合创始人、联席CEO宣以方观察,当前国内还没有第二家企业,真正有实力实现基于自研架构、全自有知识产权(IP)的高性能图形渲染GPU产品。这家成立仅半年的创企目标明确,计划在2023年将国内第一颗6nm GPU推向市场,目标是“性能对标国际一线企业产品”,也就是英伟达安培架构RTX系列GPU。
“全自研,是砺算科技的一大核心优势。联合创始人、CTO牛一心强调说,砺算科技应该是“国内唯一自研GPU架构、自主开发GPU、自有GPU知识产权的团队”。购买IP核的GPU开发方式,可以说是起步容易、兑现难、进阶难。相比之下,自研IP虽然难度大、更具挑战性,却从长远来看拥有更好的发展路径,砺算科技不是购买GPU IP,而是确立了自研架构自有IP的路线,自己掌握整体芯片设计。 Intel 4下半年可投产!英特尔公布技术路线图及重要节点 | EETOP
摘要:英特尔2022年投资者大会上,英特尔CEO帕特·基辛格和各业务部门负责人概述了公司发展战略及长期增长规划,主要包括:数据中心与人工智能、客户端计算、加速计算系统与图形、英特尔代工服务等。- 数据中心与人工智能:从2022年第一季度开始,英特尔将交付采用Intel 7制程工艺制造的Sapphire Rapids处理器,仅在AI方面即可实现高达30倍的性能提升;未来几代至强将同时拥有基于性能核(P-core)和能效核(E-core)的双轨产品路线图;2024年将推出基于3nm地能效核至强处理器Sierra Forest;
- 加速计算系统与图形:预计将在2022年出货超400万颗的独立GPU;让至强®处理器实现更高算力与内存带宽,并交付具有行业领导力的CPU和GPU产品路线图;
- 英特尔代工服务(IFS):正组建一个为汽车制造商提供完整的解决方案地团队,重点关注开放的中央计算架构、汽车级代工平台、向先进技术的过渡。
- AMD: 跻身全球半导体TOP10、完成并购赛灵思,新晋“三栖芯片大厂”喜迎开门红 | 芯东西
摘要:2022年刚一开年,AMD就捷报频传,刚在CES期间连甩7款重磅新品,又公布营收盈利创历史新高的亮眼业绩,更是喜上添喜的完成收购巨额并购案,可谓大丰收。从今日起,完成对FPGA龙头赛灵思的并购后,AMD正式成为集「CPU老二」、「GPU老二」、「FPGA老大」标签于一身的芯片巨头。根据本月初AMD释出的财报成绩:其2021年全年营收164.34亿美元,同比增长68%;调整后净利润达34.35亿美元,同比增长118%。凭借出色的业绩表现,AMD相较2020年提升4个席位,跻身全球前十大半导体公司之列。 - 国家级「东数西算」工程全面解读:8个算力枢纽,10大数字中心集群!| 新智元
摘要:近日,国家发展改革委、中央网信办、工业和信息化部、国家能源局联合印发通知,同意在京津冀、长三角、粤港澳大湾区、成渝、内蒙古、贵州、甘肃、宁夏等8地启动建设国家算力枢纽节点,并规划了10个国家数据中心集群。「东数西算」就是通过构建数据中心、云计算、大数据一体化的新型算力网络体系,将东部算力需求有序引导到西部,优化数据中心建设布局,促进东西部协同联动。简单地说,就是让西部的算力资源更充分地支撑东部数据的运算,更好为数字化发展赋能。
论文
基于上面两个方法,BiBERT性能超过现有的BERT模型二值化方法,甚至优于采用更多比特的量化方案,理论上BiBERT能够带来56.3倍的FLOPs减少和31.2倍的模型存储节省。
总而言之,所有方法都能从图像中检测到实例。但是,GiraffeDet可以检测到更多实例,尤其在小目标检测方面表现更佳。这进一步验证了所提GFPN架构在目标大尺度变化方面的优秀处理能力。
[ICLR2022] BiBERT: 面向极限压缩的自然语言任务的全二值化模型 | 量子位
文章:https://openreview.net/forum?...
摘要:现有的模型压缩方法包括参数量化、蒸馏、剪枝、参数共享等等。其中,参数量化方法高效地通过将浮点参数转换为定点数表示,使模型变得紧凑。研究者们提出了许多方案例如Q-BERT、Q8BERT、GOBO等,但量化模型仍旧面临严重的表达能力有限和优化困难的问题。本文将介绍由北航刘祥龙教授团队等带来的,首个用于自然语言任务的全二值量化BERT模型——BiBERT,将权重、激活和嵌入均量化到1比特(而不仅仅是将权重量化到1比特,而激活维持在4比特或更高)。使模型在推理时使用逐位运算操作,加快部署时硬件的推理速度。主要工作基于二值化性能下降的原因,提出两点改进:- 二值注意力(Bi-Attention):解决前向传播中二值化后的注意力机制的信息退化问题(Softmax的结果二值化导致信息丧失退化为0),考虑到softmax结果有序且遵循概率分布,为缓解该退化问题,在softmax的结果上加偏移量然后再做bool等,以最大化熵过滤关键元素,乘法采用Bitwise乘法;
- 方向匹配蒸馏(Direction-Matching Distillation):解决后向传播中蒸馏的优化方向不匹配问题(注意力权重是两个二值化的激活直接相乘而得,所以处于决策边缘的值很容易被二值化到相反一侧,从而直接优化注意力权重常常在训练过程中发生优化方向失配问题),作者设计了新的蒸馏方案,即针对上游的Query、Key和Value矩阵,构建相似性矩阵进行对激活的蒸馏。
[ICLR2022] GiraffeDet:小目标到大目标一网打尽!阿里提出首个轻骨干重Neck的轻量级目标检测器 | 极市平台
链接:https://arxiv.org/abs/2202.04256 、 https://openreview.net/forum?...
摘要:本文有4点贡献:- 提出了首个轻骨干+灵活FPN组合的检测器,所提GiraffeDet包含一个轻量S2D-chain骨干与一个Generalized-FPN并取得了SOTA性能;
- 不同常规骨干,本文设计了一种轻量型S2D-chain骨干,同时通过可控实验证实:相比常规骨干,FPN对于检测模型更为重要;
- 提出GFPN(Generalized-FPN)以跨尺度连接方式对前一层与当前层的特征进行融合,跳层连接提供了更有效的信息传输,同时可以扩展为更深的网络;
- 在不同FLOPs-性能均衡下,所提GiraffeDet均取得了优异性能。当搭配多尺度测试时,GiraffeDet-D29在COCO数据集上取得了54.1%mAP指标,超越了其他SOTA方案。
- [2201.03297] G-GhostNet:适配GPU,华为诺亚提出适用于服务器GPU的GhostNet模型 | AIWalker
文章:https://arxiv.org/abs/2201.03297
摘要:GhostNet是华为诺亚在轻量化网络架构设计方面的力作,首次见刊于CVPR2020,也是CVPR2020最具影响力论文之一。GhostNet无论在工业界还是在学术界影响力均不小。近期该团队对其进行了扩展,提出了适用于服务器的G版GhostNet,即G-GhostNet。
尽管C-GhostNet能大幅减少FLOPs同时保持高性能,但它所用到的cheap操作对于GPU既不cheap也不够高效。具体来说,depthwise卷积具有低计算密度无法充分利用GPU的并行计算能力。如何在精度和GPU延迟之间获得更好的平衡,CNN的主体部分通常包含多个分辨率渐进式缩小的阶段,每个阶段由多个Blocks堆叠而成。本文旨在降低"stage-wise"冗余而非C版的"block-wise",极大的减少中间特征进而降低计算量与内存占用。 [2202.04822] GNN如何加速?中科院计算所最新《图神经网络加速算法研究》综述论文阐述GNN加速算法体系 | 专知
文章:https://arxiv.org/abs/2202.04822
摘要:本文对GNN算法的加速方法进行了全面的综述,通过图级和模型级的优化,有利于不同平台上与图相关的任务。尽管近年来GNN加速方法取得了巨大的成功和飞跃,但在这一研究领域仍存在许多有待解决的问题,主要体现在小号三个方向:- 动态图的加速: 大多数加速方法采用静态图进行研究。然而,动态图在拓扑和特征空间方面比静态图更灵活,因此很难将这些方法直接应用于动态图。1. 像KD-GCN[Yang等人,2020]和二值化DGCNN [Bahri等人,2021]这样的压缩方法利用一个特殊设计的模块将其扩展到动态图形,提供了一个动态图形加速的范例;2.硬件友好算法:通过利用硬件特性,硬件友好算法有利于模型(或算法)在通用平台上的执行。最近的文献[Liu et al., 2021c]的目标是弥补图采样算法和硬件特性之间的差距,利用位置感知优化来产生显著的图采样速度。然而,这提出了一个问题,在设计GNN加速的硬件友好算法时,应该仔细考虑哪些特征。
- 算法和硬件协同设计: 不同于GNN的特定领域硬件加速器,如HyGCN [Yan等人,2020b]直接为GNN定制数据路径,算法和硬件协同设计探索了算法和硬件感知的设计空间。具体来说,在GNN加速的这种前景下,总体上可以通过算法和硬件的同时设计来实现优化的协同效应。
开源项目
总之,虽然JAX是实验性项目,但使用它的根本原因是速度且不依赖传统仿真模拟软件,与之相关的底层项目XLA(Accelerated Linear Algebra)是专为线性代数设计的全程序优化编译器,而 JAX 建立在 XLA 之上,进一步提高了计算速度上限。
arogozhnikov/einops:斯拉AI高管都推荐的张量工具,开源了三年后终于中顶会ICLR 2022 Oral | 量子位
代码:https://github.com/arogozhnik...
摘要:Flexible and powerful tensor operations for readable and reliable code. Supports numpy, pytorch, tensorflow, jax, and others.
该框架基于爱因斯坦求和约定(Einstein summation convention)的思路开发,能够大幅提高代码的可读性和易修改性。同时,Einops支持Pytorch、TensorFlow、Chainer、Jax、Gluon等多个深度学习框架,以及Numpy、Cupy等张量计算框架。ICLR 2022将其接收为Oral论文。
Einops的基本原理来自于爱因斯坦在1916年提出的爱因斯坦求和约定,也叫爱因斯坦标记法(Einstein notation):当一组乘积中,有两个变量的脚标一样,就要对相同的两个脚标求和,可避免公式里出现大量的求和符号,看起来更简洁如Numpy种就有使用。
但Einops正是基于Einsum进行了诸多改进,针对张量操作过程中一些以前难以解决的问题,提供了更加便利的方案。那不得不说Einops的本质:通过针对变换模式的新的标记法,能够确保元素在张量中的位置与坐标变量的值一对一映射。如nn.transpose(x,[0,3,1,2])
可以写成rearrange(x,'b h w c -> b c h w')
。与爱因斯坦求和约定(Einsum)相比,Einops有3个规则,让Einops的代码可读性很高:- axis present only in the input (the left hand side) is reduced (e.g. with max-reduction)
- axis present only in the output is “repeated” (tensor values are the same for all index values of new axes)
- all axis identifiers on either side of expression should be unique (numpy.einsum allows repeats to cover traces).
- Tencent/NCNN: PNNX —— PyTorch Neural Network Exchange,逃离 ONNX | 知乎
链接:https://zhuanlan.zhihu.com/p/...
代码:https://github.com/Tencent/nc...
摘要:ncnn2月底发布新版本20220216 6b2495c,主要更新除x86 cpu在conv上的性能外,就是PNNX相关的支持等。
2021年 Q3 , ncnn 的作者 nihui 便提出了 PNNX 模型格式,其进一步强化了 PyTorch 训练 + ncnn 部署的社区生态。PNNX 作为 PyTorch 模型部署的新的方式,可以避开 ONNX 中间商,导出比较干净的高层 OP, 也代表着 PNNX 希望能比 ONNX 做的更好。
PNNX 没有发明新的算子标准,直接利用 PyTorch API ,在 ncnn 的易于修改的模型文件上,与 PNNX 格式映射,非常易用,不采用 MLIR 是因为 Google 主导且不稳定,而 PyTorch 和 TF 是两个生态,同时支持并不好玩儿。
PNNX 设计上说,支持静态 shape,也支持动态 shape ,其实现是从 torchscript 再捏回到原先高层 op,所以还是需要做 torchscript ir 的图优化, PNNX 写了这个叫 GraphRewritter 的类,只要指定我们的 pattern 的 ir,指定好后,就会自动从 torchscript 里找到一个匹配的封闭子图,然后把它替换成我们的 target 的 op,最后这个 target op 的一些参数也可以,从匹配的子图里去获取到原先那个参数,然后写到 target 参数里,PNNX 代码里面就有大量的捏回原始高层算子的这个过程,所以有一个专门做的基础设施,方便做捏算子的图优化过程。
目前 PNNX 兼容 PyTorch 1.8、1.9 和 1.10 版本,也可以导出 159 种 PyTorch 上层 op,其中有 80 个可以导出成 ncnn 对应的 op,也做了自动单元测试,还有 79% 的代码覆盖率。目前常用的 CNN 模型,像 resnet,shufflenet 这种模型,都是可以完美工作,就是torchscript,转 PNNX、转 python 或 ncnn 这些都可以正常搞定,然后出来的推理结果跟原始的 python 是一模一样的。 - TFRT 进展与更新 | TensorFlow
摘要:两年前,在 ML 生态系统趋势的推动下——模型越来越大,ML 被部署到更多样化的执行环境,以及跟上持续研究和模型创新的需求的背景下,我们启动了 TFRT,希望可以实现以下三个目标:1. 为 ML 模型提供更快、更便宜的执行;2. 实现更灵活的部署;3. 提供更多模块化的可扩展基础架构,以促进 ML 基础架构和建模方面的创新。
过去两年的开发主要集中于通过为用户启用 Google 最重要的内部工作负载(比如 Ads 和搜索),迄今已在 Google 内部广泛部署了 TFRT,用于各种训练和推断工作负载,并取得了很好的结果。我们如何实现这一目标的呢,来看看本文吧! google/jax:2022年,我该用JAX吗?GitHub 1.6万星,这个年轻的工具并不完美 | 机器之心
摘要:近年来,谷歌于 2018 年推出的 JAX 迎来了迅猛发展,很多研究者对其寄予厚望,希望它可以取代 TensorFlow 等众多深度学习框架。但 JAX 是否真的适合所有人使用呢?这篇文章对 JAX 的方方面面展开了深入探讨,希望可以给研究者选择深度学习框架时提供有益的参考。
JAX 不是一个深度学习框架或库,其设计初衷也不是成为一个深度学习框架或库。简而言之,JAX 是一个包含可组合函数转换的数值计算库。JAX 的定位科学计算(Scientific Computing)和函数转换(Function Transformations)的交叉融合,具有除训练深度学习模型以外的一系列能力,包括如下:- 即时编译(Just-in-Time Compilation):JAX 允许用户使用 XLA 将自己的函数转换为即时编译(JIT)版本。这意味着可以通过在计算函数中添加一个简单的函数装饰器(decorator)来将计算速度提高几个数量级;
- 自动并行化(Automatic Parallelization)
- 自动向量化(Automatic Vectorization)
- 自动微分(Automatic Differentiation)
- obss/sahi:小目标Trick | Detectron2、MMDetection、YOLOv5都通用的小目标检测解决方案 | 集智书童
项目:https://github.com/obss/sahi
摘要:检测小目标和远程目标检测是监控应用中的一个主要挑战。这些物体由图像中少量的像素表示,缺乏足够的细节,使得传统的检测器难以检测。在这项工作中,提出了一个名为切片辅助超推理(SAHI)的开源框架。该框架为小目标检测提供了一个通用的切片辅助推理和微调管道。所提出的技术是通用的,因为它可以应用在任何可用的目标检测器之上,而不需要进行任何微调。
利用Visdrone和xView空中目标检测数据集上的目标检测Baseline的实验评估表明,该推理方法可将FCOS、VFNet和TOOD检测器的目标检测AP分别提高6.8%、5.1%和5.3%。此外,通过切片辅助微调可以进一步提高检测精度,从而按相同的顺序累计增加了12.7%、13.4%和14.5%的AP。所提出的技术已与Detectron2、MMDetection和YOLOv5模型完成集成。
博文
- MegEngine 的 CUDA 矩阵乘法终极优化 | 旷视研究院
摘要:单精度矩阵乘法(SGEMM)几乎是每一位学习 CUDA 的同学绕不开的案例,这个经典的计算密集型案例可以很好地展示 GPU 编程中常用的优化技巧,而能否写出高效率的 SGEMM Kernel ,也是反应每一位 CUDA 程序员对 GPU 体系结构的理解程度的优秀考题。本文将详细介绍 CUDA SGEMM 的优化手段,适合认真阅读过《CUDA C++Programming Guide》,具备一定 CUDA 编程基础的同学阅读,希望能给追求极致性能的同学们一些启发。 - 快手特效业务的云端渲染方案 | 快手Y-tech团队
摘要:云渲染就是依托于云计算的一种云端渲染服务。用户将本地的渲染任务提交到远程服务器,通过远程的计算机集群资源进行运算操作,将上传的任务进行云端处理后再返回给本地,由用户下载提取。使用云端渲染可以更好的支持业务需求,如随时支持特效相关的H5活动,以及充分利用服务端的大内存和高性能,结合Y-tech的AI能力,给用户提供更完美好看、好玩的画面效果。
主要的难点之一便是云端渲染的耗时优化,随着输入视频时长的增加以及业务场景复杂度的提升,耗时的增加导致用户的等待时长以及服务器资源的成本都在不断提高,所以云端渲染急需在性能耗时等方面做各种优化处理。
通过充分利用服务器的多核优势:将解码、渲染、编码三个模块解耦拆分、进行多线程异步处理。针对一些长视频处理过程中的瓶颈,进一步将编码、解码模块内部重构,支持多线程解码、多线程编码,在性能上满足更复杂的需求。使用一分钟的输入视频进行测试,特效及输出不变的情况下,针对多线程方面的优化耗时提升明显,优化后CPU和GPU利用率是之前的三倍,耗时较之前可提高2.5倍左右。 - 编译器与IR的思考: LLVM IR,SPIR-V到MLIR | StarryHeavensAbove
原文:https://www.lei.chat/posts/co...
摘要:本篇试图记录作者对编译器以及中间表示发展的历史和趋势的理解,为以后探讨具体的编译器以及中间表示机制奠定基础。人类通过抽象来应对复杂性,编译器是能够自动转换抽象级别的效率工具,首要考虑正确性,其次产生高效代码。正确性需要明确的语义以及各种验证来保障。编译器产生的代码可以给我们绝大部分的性能, 这可以让我们把工程力量集中到真正核心的对性能影响最大的部分。
LLVM 通过其 LLVM IR 和库解耦并模块化了编译器,同时用文本表示将 UNIX 哲学带入了编译器。但 LLVM 的设计折中意味着其并不适合所有的领域,比如 LLVM 并不对稳定性和兼容性提供强保障,LLVM IR 本身也是不可分割的中心化中间表示;SPIR-V 是着眼于 GPU 领域的行业标准规范,其通过技术上的机制和组织上的流程来维持其可扩展性。SPIR-V 有着稳定的字节码和兼容性保障;MLIR 进一步解耦了中间表示;完整的中间表示被分割成可以按需选取的 dialect;其基础设施极大地简化定义各种层级 operation 和转换。这符合技术发展的趋势——技术一般都是从单一的强耦合的解决方案渐渐演进到多种多样的可定制化的解决方案。将来开发领域专用编译器可能真的只是选取、定制、以及混合各种 dialect 这般简单。 - GPU架构变迁之AI系统视角:从费米到安培 | 杨军
摘要:本文以AI系统视角为切入点,从最早应用于深度学习计算加速的GTX 580开始,回顾了从Fermi到Ampere共7代架构的5个部分(单设备硬件架构、跨设备硬件架构、AI workload及应用场景的演进、AI软件栈的演进、生态发展),期望随着未来Ampere-Next以及Ampere-Next-Next的发布,一起经历见证AI系统领域和NV GPU架构的共同演进发展。
来源:NeuralTalk
作者:开心的派大星
往期回顾
- 新一代深度学习编译技术变革和展望
- 理解程序运行时的内存布局1:知识铺垫之进程/线程切换、纤程
- 理解程序运行时的内存布局0:知识铺垫之多任务、协同式与抢占式、时间片、任务优先级
- 嵌入式AI简报|ECBSR/MobileHumanPose/推理性能/优化与TMAM
本作品采用知识共享署名-相同方式共享 4.0 通用许可协议进行许可。
欢迎关注公众号,关注模型压缩、低比特量化、移动端推理加速优化、部署。
更多嵌入式AI相关技术干货请关注嵌入式AI专栏。