首页 / 行业
AMD开源Brotli-G压缩格式,可使用GPU加速Brotli压缩
2022-11-24 11:50:00
AMD 的 GPUOpen 团队公布了一个新的开源项目:Brotli-G,Brotli-G 基于 IETF 维护的完善的 Brotli 无损压缩算法标准( RFC7932),但可以使用 GPU 进一步增强 Brotli 压缩算法的性能和压缩比。
Brotli 压缩算法由 Google Research 开发,于 2013 年首次发布,开源规范于 2013 年至 2016 年间开发和推广。
Brotli 是 LZ77 压缩算法和霍夫曼编码(类似于 GZIP 和 Deflate)的组合,作为 GZIP 和 Deflate 算法的开源继承者,Brotli 具有相似的性能,但压缩比更好。
目前 Brotli 在 Web 应用程序和内容中被广泛采用,用于压缩 Web 应用程序资产,例如字体、javascript、图像等。
● 如今超过 95% 的网络浏览器都支持 Brotli 解压。
● 许多 Web 应用程序框架都支持 Brotli 编码(例如 NGINX 和 ASP.NET)。
● 一些 CDN 使用 Brotli 编码(例如 Azure 和 ImageKit)
Brotli-G 性能优化
Brotli-G对标准 Brotli 比特流格式的修改主要集中在:允许在 GPU 和多线程 CPU 上进行高效的数据并行解压缩,同时仍保持相对较高压缩率。主要的变化可概括为:
限制要压缩的块(页面)的大小,提供在 GPU 上使用多个计算单元 (CU) 的能力。
实施并行霍夫曼子流,提供使用 SIMD 处理的能力。
简化了比特流格式,最大限度地提高 GPU 性能。
目前 Brotli-G 解压缩算法已作为 “着色器 -shader” 程序(用微软的 HLSL高阶着色器语言编写)实现,可以在任何兼容 DirectX 的显卡上运行(但似乎不支持AMD 的 Radeon 显卡...)。在着色器中实现解压缩,可充分利用 GPU 硬件的巨大并行处理能力,以实现快速解压缩效果。
AMD 开源的是一个 Brotli-G SDK,包含用于 CPU 和 GPU 上的 CPU 压缩和解压缩的源代码。该 SDK 还包含 CLI 应用程序的源码,可用于测量 Brotli-G 编解码器的性能。
需要注意的一件事是,已经使用 Brotli 压缩的内容,无法使用 Brotli-G 解压缩器进行解压。如果要利用 Brotli-G,必须使用兼容 Brotli-G 的压缩器(也在 SDK 中提供)重新压缩该内容。
目前该 SDK 以基于 MIT 的 BCP 78 许可证(这是标准 Brotli 压缩算法的许可证)开源,可以在其 GitHub 存储库中找到:https://github.com/GPUOpen-LibrariesAndSDKs/brotli_g_sdk
审核编辑:汤梓红
最新内容
手机 |
相关内容
人形机器人风起,连接器待势乘时
人形机器人风起,连接器待势乘时,连接器,人形机器人,工作效率,性强,研发,光纤,近年来,人形机器人在人工智能领域取得了巨大的进展。随什么是氧气传感器,氧气传感器的组成
什么是氧气传感器,氧气传感器的组成、特点、原理、分类、常见故障及预防措施,氧气传感器,分类,压差,压缩,用于,更换,氧气传感器(Oxyge浅谈芯片常用的解密器
浅谈芯片常用的解密器,芯片,评估,修复,安全性,硬件,解密,ad7705brz芯片解密器是一种用于解密芯片内部信息的设或软件。芯片解密器在PODsys:大模型AI算力平台部署的开源
PODsys:大模型AI算力平台部署的开源“神器”,开源,模型,平台,运行,计算,用户,PODsys(Platform for Open-source Distributed System)是什么是气体继电器,气体继电器的基本
什么是气体继电器,气体继电器的基本结构、优缺点、工作原理、应用、如何选用、动作原因及维护建议,继电器,维护,结构,原因,工作原理什么是驱动电机旋转变压器?驱动电机
什么是驱动电机旋转变压器?驱动电机旋转变压器的优势,噪音,空间,转换,应用场景,维护,性能,DG409DY驱动电机旋转变压器是一种通过电机常见三大电路故障:接触器、电压断路
常见三大电路故障:接触器、电压断路器、热继电器,继电器,断路器,常见,故障,维护,自动,常见的三大电路故障包括接触器故障、电压断路能耗成了EUV光刻机的最大掣肘,纳米
能耗成了EUV光刻机的最大掣肘,纳米压印才是降低功耗的“正道”?,功耗,正道,控制系统,模具,适合,芯片,EUV光刻技术(Extreme Ultraviolet