AMD 的 GPUOpen 團(tuán)隊(duì)公布了一個新的開源項(xiàng)目:Brotli-G,Brotli-G 基于 IETF 維護(hù)的完善的 Brotli 無損壓縮算法標(biāo)準(zhǔn)( RFC7932),但可以使用 GPU 進(jìn)一步增強(qiáng) Brotli 壓縮算法的性能和壓縮比。
Brotli 壓縮算法由 Google Research 開發(fā),于 2013 年首次發(fā)布,開源規(guī)范于 2013 年至 2016 年間開發(fā)和推廣。
Brotli 是 LZ77 壓縮算法和霍夫曼編碼(類似于 GZIP 和 Deflate)的組合,作為 GZIP 和 Deflate 算法的開源繼承者,Brotli 具有相似的性能,但壓縮比更好。
目前 Brotli 在 Web 應(yīng)用程序和內(nèi)容中被廣泛采用,用于壓縮 Web 應(yīng)用程序資產(chǎn),例如字體、javascript、圖像等。
● 如今超過 95% 的網(wǎng)絡(luò)瀏覽器都支持 Brotli 解壓。
● 許多 Web 應(yīng)用程序框架都支持 Brotli 編碼(例如 NGINX 和 ASP.NET)。
● 一些 CDN 使用 Brotli 編碼(例如 Azure 和 ImageKit)
Brotli-G 性能優(yōu)化
Brotli-G對標(biāo)準(zhǔn) Brotli 比特流格式的修改主要集中在:允許在 GPU 和多線程 CPU 上進(jìn)行高效的數(shù)據(jù)并行解壓縮,同時仍保持相對較高壓縮率。主要的變化可概括為:
限制要壓縮的塊(頁面)的大小,提供在 GPU 上使用多個計(jì)算單元 (CU) 的能力。
實(shí)施并行霍夫曼子流,提供使用 SIMD 處理的能力。
簡化了比特流格式,最大限度地提高 GPU 性能。
目前 Brotli-G 解壓縮算法已作為 “著色器 -shader” 程序(用微軟的 HLSL高階著色器語言編寫)實(shí)現(xiàn),可以在任何兼容 DirectX 的顯卡上運(yùn)行(但似乎不支持AMD 的 Radeon 顯卡...)。在著色器中實(shí)現(xiàn)解壓縮,可充分利用 GPU 硬件的巨大并行處理能力,以實(shí)現(xiàn)快速解壓縮效果。
AMD 開源的是一個 Brotli-G SDK,包含用于 CPU 和 GPU 上的 CPU 壓縮和解壓縮的源代碼。該 SDK 還包含 CLI 應(yīng)用程序的源碼,可用于測量 Brotli-G 編解碼器的性能。
需要注意的一件事是,已經(jīng)使用 Brotli 壓縮的內(nèi)容,無法使用 Brotli-G 解壓縮器進(jìn)行解壓。如果要利用 Brotli-G,必須使用兼容 Brotli-G 的壓縮器(也在 SDK 中提供)重新壓縮該內(nèi)容。
目前該 SDK 以基于 MIT 的 BCP 78 許可證(這是標(biāo)準(zhǔn) Brotli 壓縮算法的許可證)開源,可以在其 GitHub 存儲庫中找到:https://github.com/GPUOpen-LibrariesAndSDKs/brotli_g_sdk
審核編輯:湯梓紅
-
amd
+關(guān)注
關(guān)注
25文章
5490瀏覽量
134490 -
gpu
+關(guān)注
關(guān)注
28文章
4768瀏覽量
129222 -
開源
+關(guān)注
關(guān)注
3文章
3398瀏覽量
42645 -
壓縮算法
+關(guān)注
關(guān)注
1文章
21瀏覽量
10534
原文標(biāo)題:AMD開源Brotli-G壓縮格式,可使用GPU加速Brotli壓縮
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論