Ezeken a chipeken tesztelhetik a DARPA új fordítóit

A DARPA MOCHA programja olyan fordítók fejlesztésén dolgozik, amelyek gyorsan alkalmazkodhatnak új, eltérő felépítésű hardverekhez. A teszteléshez kiválasztott eszközöknek egyetlen, Intel-alapú munkaállomásba is be kell férniük.
- A DARPA MOCHA heterogén hardverekhez fejleszt alkalmazkodó fordítókat.
- A teszteléshez használt gép Intel Core Ultra 9 285K processzorra épül.
- A kiválasztás egyik fő szempontja az LLVM- és MLIR-támogatás.
- A munkalistán AMD, Intel és NEC által fejlesztett hardverek is szerepelnek.
A heterogén gépekhez új fordítói megközelítés kell
A modern számítógépekben a processzorok mellett grafikus chipek és különféle gyorsítók is dolgoznak. Ezek közös használata nagy teljesítményt tehet lehetővé, a megfelelő gépi kód előállítása azonban nehéz, különösen akkor, ha a fordító korábban nem találkozott az adott hardverrel.
A DARPA MOCHA, vagyis a Machine Learning and Optimization-guided Compilers for Heterogeneous Architectures program ezt a problémát célozza. A program a DARPA Information Processing Techniques Office keretében fut, vezetője Dr. Howard Shrobe. Alapfeltevése szerint az adatvezérelt módszerek, a gépi tanulás és a fejlett optimalizálás felgyorsíthatja a fordítók új hardverekhez igazítását, kevés emberi beavatkozással.
A program egyik központi gondolata, hogy a fordítás minden lépését befolyásolják a célhardver teljesítménymodelljei. Ezeket hagyományosan kézzel készítik el, a MOCHA viszont a generált kód valós hardveren végzett méréseiből és a műszaki dokumentáció elemzéséből építené fel őket. A DARPA irányelve az ALARA, vagyis a szükségesen minimális emberi közreműködés.
Az SEI feladata a mérési környezet kialakítása
A Carnegie Mellon Egyetem Software Engineering Institute-jának Advanced Computing Lab laborja a tesztelésben támogatja a kormányzati csapatot. Feladata a lehetséges célhardverek összegyűjtése és értékelése, az értékelőgép kialakítása és fenntartása, valamint olyan mérési módszertan kidolgozása, amely összehasonlítható eredményeket ad.
A MOCHA végére a DARPA hat különálló számítási típust szeretne bevonni. Egy típus meghatározásánál nem csak a hardver felépítése számít, hanem az utasításkészlet és a programozási modell is. Emiatt külön kategóriának számíthat például egy adatközponti GPU, egy FPGA-t és térbeli AI-motort egyesítő eszköz, egy hosszúvektoros processzor, illetve egy RISC-V-alapú, adatfolyamatos AI-gyorsító.
A célgép egy Intel Core Ultra 9 285K processzorra épülő, munkaállomás-osztályú torony. Már jelen van benne az AVX2 SIMD, az integrált Xe GPU, egy neurális feldolgozóegység, PCIe 5.0 csatlakozás és egy NVIDIA RTX 4500 Ada kártya. Az új gyorsítóknak ezért PCIe-kártyaként kell működniük, és illeszkedniük kell a gépház, a fogyasztás és a hűtés korlátaihoz.
Az MLIR-támogatás fontosabb lehet a nyers teljesítménynél
A jelöltek kiválasztásánál öt szempontot vizsgáltak: az elérhetőséget, az érettséget, a megfizethetőséget, a programozhatóságot és a tesztgépbe való beépíthetőséget. Emiatt kiestek olyan megoldások is, amelyek csak teljes szerverként vagy felhőszolgáltatásként érhetők el.
Kiemelt szerepet kapott az LLVM és az MLIR támogatása. Az MLIR különböző absztrakciós szinteken képes leírni a számításokat, majd fokozatosan az adott eszközhöz közelíteni a programot. A forrás szerint ez lehetőséget adhat arra, hogy a fejlesztők a hardver elérésének alapjait ne minden alkalommal kézzel építsék fel, hanem a fordító optimalizálására, a tanult költségmodellekre és a heterogén elemek közötti feladatmegosztásra összpontosítsanak.
A munkalistán szerepel az AMD Instinct MI350P, az AMD Versal ACAP, az Intel Data Center GPU Max 1100, az Intel Gaudi 3, a tesztgépben már megtalálható Intel Xe iGPU és az NEC SX-Aurora TSUBASA. A felsorolt eszközök között adatközponti GPU, FPGA-t és AI-motort kombináló rendszer, AI-gyorsító, integrált grafikus processzor és hosszúvektoros processzor is található.
A vizsgálat egyik fő kérdése, hogy a fordítók mennyire férhetnek hozzá közvetlenül az egyes eszközökhöz. A kizárólag zárt, gyártói könyvtárakon keresztül elérhető gyorsítók kevés lehetőséget adhatnak a MOCHA fordítóinak, miközben a nyitottabb, LLVM- vagy MLIR-alapú eszközök alkalmasabb célpontot jelenthetnek. A program így a felhasználói és kutatói oldalon azt ígéri, hogy többféle hardver architektúrája között vizsgálhatja a gyorsabb, kisebb emberi munkát igénylő fordítói alkalmazkodást.
CMU Software Engineering Institute Blog: Choosing the Hardware That Will Put DARPA MOCHA’s Compilers to the Test

