Hlavní navigace

Odpověď na názor

Odpovídáte na názor k článku Modlitba pro Intel: trápící se gigant a jeho radikální řez. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.

  • 11. 8. 2024 0:39

    cc

    Na toto musím reagovat jako někdo kdo píše AVX-512 pro obživu.

    AVX-512 (tedy 128-bit, 256-bit, a 512-bit granularita) je zatím to nejlepší pro co jsem vyvíjel a podle mě ARM SVE i RISC-V V jdou cestou k nepoužitelnosti.

    Co je zajímavé na AVX-512 (a obecně SIMD s fixní délkou registrů) je to, že SIMD se dá použít i na věci, které nejsou pole, a dá se počítat s velikostí vektoru. Takže třeba je možné navrhnout algoritmus pro 256-bit SIMD, nebo 512-bit SIMD, který bude dělat kompresi / dekompresi, nebo dekódovat nějaké binární data, atd... U kodeků se bude počítat s tím, že se napíše SIMD algoritmus pro dekódování nějakého tile (třeba 8x8, 16x16, atd...). Ale to není všechno, máš strukturu co má 64 bytes? 2 instrukce ji zkopůrujou.

    Toto je úplně jiná kategorie problémů než udělat SIMD "strlen()" nebo zpracování nějakých dat v poli (časté přiklady pro SVE), atd... A AMD nám ukazuje, že AVX-512 je jediná budoucnost x86, protože decode je problém, ale když jsou široké registry, tak decode není až takový problém vzhledem k tomu, kolik dat vhodně navržený kód zpracuje.

    Další problém SVE a RISC-V V je ten, že se pro to nedají udělat abstrakce (třeba v C++) tak jak pro kód, kde člověk zná délku registru. Takže člověk musí používat stejné intrinsics tak jak specifikuje ta architektura, což nikdy nebylo něco, co bych chtěl používat napřímo.

    Je zajímavé, že třeba čínský Loongarch touto cestou nejde - místo "variable vector width) přidali 256-bit SIMD a to staví tu architekturu do pozice ~AVX2.