Hirdetés

A csúszás lesz az Aurora nevű szuperszámítógép legkisebb problémája

Az Intel eredetileg azt ígérte, hogy a CXL interfésszel biztosítják az egységes memóriát, de mára történt némi változás.

A tegnapi napon írtunk arról, hogy az Argonne Nemzeti Laboratórium egy Polaris szuperszámítógéppel hangol az évek óta csúszó Aurorára. Utóbbi idén sem készül el, de 2022-re már valószínű, hogy megépül, viszont az idei Hot Chips rendezvény alapján van egy érdekes új adat az Aurora egyik fontos alapját adó Ponte Vecchio gyorsítóról.

Eredetileg az Aurora fő célja az volt, hogy az 1 EFLOPS-os teljesítményét figyelembe véve a skálázhatósága optimális legyen, amit úgy lehet elérni, hogy az egyes lapkák memóriakoherens módon hozzáférnek a kapcsolódó memóriában tárolt adatokhoz, ami eliminálja a memóriamásolások direkt kezelését a program oldalán. Lényegében jóval egyszerűbben lehet programozni egy ilyen dizájnt, ami azért ekkora számítási tempó mellett nem elhanyagolható tényező, hiszen szoftveres szinten biztosítani a memóriamásolásokat nem éppen egyszerű.

A Ponte Vecchio esetében az Intel a CXL szabványra alapozó Xe Linket jelölte meg erre a célra, és mivel a Sapphire Rapids támogatja a CXL 1.1-et, így elméletben minden adott volt ahhoz, hogy az egy node-on belül használt lapkák hardveresen implementált memóriakoherencia mellett hozzáférnek egymás memóriájához.

A Sapphire Rapids bemutatóján az Intel ki is emelte nemrég, hogy a processzor támogatja a CXL 1.1-et, de a Ponte Vecchio kapcsán az idei Hot Chips rendezvényen – az AnandTech beszámolója szerint – egy felmerülő kérdésre az volt a válasz, hogy az Xe Linknek semmi köze a CXL-hez. Ez a fenti dia alapján rendkívül fura, hiszen régen pont az ellentettjét hirdette a cég. Ráadásul egy másik kérdés kapcsán az is kiderült, hogy a Sapphire Rapids CPU-hoz a gyorsítók PCI Express 5.0-s interfészen keresztül kapcsolódnak, ami nem memóriakoherens interfész. A hardveresen implementált memóriakoherencia tehát a gyorsítók között valósul majd meg, az új adatok alapján egy módosult Xe Link segítségével.

Természetesen a CPU-k és a gyorsítók között az egységes memóriakép pusztán szoftveres szinten is megoldható, de ez a programkód oldalán jelentős többletmunkát igényel, illetve messze nem olyan hatékony ez a módszer, mint egy hardveres implementáció, nem véletlenül találta ki az Intel a CXL-t.

Megjegyzendő, hogy az amolyan tesztágynak szánt Polaris is hasonló felépítésű, hiszen annak AMD EPYC processzoraihoz PCI Express interfészen kapcsolódnak az NVIDIA A100 GPU-k, de maguk a gyorsítók már NVLinkkel vannak összekötve, ami köztük biztosítja a hardveresen implementált memóriakoherenciát, de a CPU-k és a GPU-k között ez nincs meg. A Polaris esetében persze annyiban kedvezőbb a helyzet, hogy a közelében sincs az 1 EFLOPS-os teljesítménynek dupla pontosság esetén, tehát akkora problémát ez a tipikusnak mondható kialakítás nem okoz, de az Aurora esetében a teljesítmény skálázása már nem feltétlenül lesz egyszerű.

Azóta történt

Előzmények

Hirdetés