AMD ja Intel aikovat yhdistää PyTorchin x86-suorittimille tekemäänsä optimointityötä avoimen lähdekoodin oneDNN-kirjastossa. AMD tuo kirjastoon ZenDNN-projektinsa optimointeja, jolloin kehittäjille on tarkoitus tarjota yhteinen ohjelmistopolku molempien yhtiöiden suorittimille. Kyse on suunnitelmasta: yhtiöt eivät ilmoittaneet toteutuksen valmistumispäivää eivätkä julkaisseet suorituskykymittauksia.
2
3
18
Yksi kirjasto, vähemmän erillisiä polkuja
Yhtiöt valitsivat oneDNN:n PyTorchin x86-kiihdytyksen oletusarvoiseksi avoimen lähdekoodin kirjastoksi x86 Ecosystem Advisory Groupin suosituksen perusteella. Tavoitteena on, ettei kehittäjien tarvitsisi ylläpitää erillisiä valmistajakohtaisia ratkaisuja, kun PyTorch-työkuormia optimoidaan AMD:n ja Intelin suorittimille.
1
2
Intel aloitti oneDNN:n kehittämisen, ja kirjastoa hallinnoi nykyisin Unified Acceleration Foundation eli UXL-säätiö. AMD:n ZenDNN puolestaan sisältää AMD:n Zen-arkkitehtuurille tehtyjä optimointeja. Suunniteltu integraatio tuo tätä AMD:n työtä yhteiseen oneDNN-projektiin, mutta ei tarkoita, että suoritinkohtaisista optimoinneista luovuttaisiin. AMD kertoo jatkavansa AMD-suorittimien optimointia.
2
6
13
18
Yhtiöt eivät ole kertoneet tarkemmin, millaisin teknisin perustein neuvoa-antava ryhmä suositteli oneDNN:ää. Julkilausuttu tavoite on yksinkertaistaa kehitystä ja vähentää ohjelmistopolkujen hajanaisuutta.
1
2
AMD mukaan UXL-säätiön ohjaukseen
AMD on liittynyt UXL-säätiöön ohjausryhmän jäsenenä. Se tuo yhtiön mukaan säätiön toimintaan, mutta saatavilla olevissa tiedoissa ei eritellä jäsenen äänioikeuksia tai sitä, miten liittyminen vaikuttaa yksittäisiin päätöksiin.
2
9
Milloin muutos näkyy PyTorchissa?
Integraatiolle ei ole ilmoitettu valmistumisaikaa, kohteena olevaa PyTorch-versiota eikä oneDNN-versiota. Myöskään työn mahdollisia suorituskykyhyötyjä ei ole vielä mitattu julkisesti.
3
4
AMD ja Intel suunnittelevat lisäksi oneDNN-päivityksiä AI Compute Extensions (ACE) -käskyille, jotka on suunniteltu nopeuttamaan muun muassa matriisikertolaskua. oneDNN 3.14:n julkaisuehdokas sisältää jo alustavan tuen ACE-käskyille, mutta ominaisuus ei ole oletuksena käytössä. Sen voi ottaa käyttöön ympäristömuuttujalla ONEDNN_MAX_CPU_ISA=AVX10_2_ACE. Tämä ei kuitenkaan vielä kerro, milloin ACE-tuki tulee PyTorchin kautta käyttäjien saataville.
7
10
Kehittäjien kannalta olennainen uutinen on siis suunniteltu yhteinen kirjasto ja integraatiopolku — ei vielä valmis muutos, joka olisi tullut käyttöön kaikissa PyTorch-asennuksissa. Aikataulu ja käytännön suorituskykyvaikutukset selviävät myöhemmin.