Elindítja a GPU-s tömörítés formátumháborúját az AMD?

A vállalat a Brotli tömörítési algoritmust alakította át a GPU-s dekódoláshoz

A Microsoft-féle DirectStorage miatt egyre forróbb téma manapság a GPU-val gyorsított tömörítés, főleg a dekódolás tekintetében, és az említett szabvány már kínál is egy GDeflate nevű formátumot erre a célra, amit az NVIDIA dobott be a közösbe. Eredetileg úgy tűnt, hogy ezzel le is van fedve a piaci igény, de az AMD most bejelentette, hogy elkészítették a Brotli nevű, nyílt forráskódú veszteségmentes tömörítési algoritmus módosítását, amely a masszívan adatpárhuzamos feldolgozás lehetőségét biztosítja.

A Brotlit eredetileg Jyrki Alakuijala és Szabadka Zoltán fejlesztette a Google támogatásával, az alapja pedig LZ77 algoritmus és Huffman-kódolás kombinációja. A célja az volt, hogy nyílt forráskódú alternatívája legyen a GZIP-nek, illetve a Deflate-nek, amit el is ért. A Brotli nagyjából hasonló teljesítménnyel dolgozik, mint a Deflate, de járulékos előnye, hogy némileg jobb a tömörítési aránya.

Az eljárást eredeti felhasználási területe a weboldalak gyorsabb betöltése volt a webszerverek és tartalomszolgáltató hálózatok által használt tartalmak tömörítésével, és ezt a szerepkört máig betölti, ugyanakkor minden olyan területere alkalmas, ahol az adatok veszteségmentes tömörítésével kell optimalizálni a munkavégzést, és szükséges egy olyan algoritmus, ami hatékonyan képes dekódolni az információkat. Emiatt mára a Brotli túlnőtt a webes alkalmazhatóságon, többek között játékokban, illetve felhőalapú játékszolgáltatásokban is hasznát veszik.

Az AMD módosítása a Brotli-G nevet viseli, és a lényege annyi, hogy a Brotli bitfolyamformátum dekódolását hatékonnyá teszi többmagos processzorokon, grafikus vezérlőkön, illetve effektíve minden olyan architektúrán, ami az adatpárhuzamos feldolgozásra koncentrál. Nagyon egyszerűen fogalmazva, ha a Brotli a Deflate versenytársa, akkor a Brotli-G a GDeflate ellen készült. A Brotli rendszerszintű előnye mindkét esetben ugyanaz: a jobb tömörítési arány, illetve a nyílt forráskód.

Az AMD a Brotli-G dekódoló algoritmusát modern HLSL nyelvben írta, ami azért szerencsés, mert így minden olyan hardveren képes futni, amely támogatja legalább a shader modell 6.0-t. Ezzel pont ugyanazokat a GPU-kon működik, amelyeken a GDeflate.

Felmerülhet a kérdés, hogy a GDeflate mellett miért van szükség még egy alternatívára, például a Brotli-G személyében? Igazából nincs rá szükség, de a DirectStorage 1.1 lehetővé teszi a fejlesztőknek, hogy egyedi formátumot használjanak, tehát nem kötelező elfogadni a Microsoft által felkínált lehetőségeket. Sőt, maga a DirectStorage azt is megengedi, hogy a szállított tartalom egy része GDeflate, míg a másik része Brotli-G formátumú legyen. Ezen túlmenően a fejlesztő még akármennyi egyedi formátumot definiálhat, az API maga tökéletesen tudja kezelni ezt a helyzetet, a redmondiak ugyanis úgy tervezték, hogy a rendszer nagyon rugalmasan bővíthető legyen.

Az alábbi GitHub oldalon elérhető forráskód MIT-alapú BCP 78 licenc mellett használható fel, és az AMD szerint hamarosan elérhető lesz a támogatása a Compressonator nevű fejlesztőeszközükben is.

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés