Vihdoinkin, luettuani päiviä joko dokumentteja tai virheenkorjauksen ketjuindeksejä, pystyin toteuttamaan flash-huomion tyhjästä DSC:ssä MI300X:llä! Ensimmäinen versio (oranssi) on perusskalaariversio alkuperäisestä flash-huomiopaperista. Toinen versio (vihreä) on sama algoritmi, mutta käyttää matriisiytimiä (AMD-tensoriytimiä) ja kuten näet, tämä on *merkittävästi* nopeampi kuin skalaari. Käytin matriisiytimiä laskeakseni sekä Sij = Qi @ Kj^T että Pij @ Vj. Joitakin AMD-matriisiytimien "gotchas": - Ne toimivat aaltorintamakohtaisesti ja aaltorintama on 64 säiettä AMD:ssä, mikä tarkoittaa, että sinun on seurattava sekä nykyisen aallon ID:tä että kyseisen aallon säikeen ID:tä. - Lähtöasettelu sekoitetaan rekistereihin, koska matriisiytimen ydintoiminta on 4x1 ulkotuote, joten uudelleentilausvaihe on tarpeen. - (Sikäli kuin tiedän) hipcc:n luontaisia ominaisuuksia matriisiytimille ei ole dokumentoitu missään. Siellä on repo, jossa on joukko esimerkkejä AMD:ltä, mutta muuten sinun on grep LLVM-koodikanta. Aion hioa koodiani nyt ja sitten luultavasti kirjoitan syvällisemmän postauksen AMD:n flash-huomiosta. Ai niin, ja btw, huuda @HotAisle tämän mahdollistamisesta!