A PyTorch egységesíti a hardveres gyorsítók tesztelését és CI-folyamatait
A PyTorch Accelerator Integration Working Group új eszközökkel egyszerűsíti a különböző AI-gyorsítók integrációját. A 2026 első felében végzett munka középpontjában a közös tesztelés, a Cross-Repository CI Relay és a hardverfüggetlen tesztkód állt.
- A CRCR a PyTorch változásait automatikusan továbbítja a regisztrált downstream tárolóknak.
- A CI-eredmények a PyTorch CI HUD felületén jelennek meg.
- A munkacsoport több mint 276 tesztfájlt tett hardverfüggetlenebbé.
- A hw_classification segíti a megfelelő tesztkészletek kiválasztását.
- A 2026 második félévi tervek között szerepel a besorolatlan tesztek számának nullára csökkentése.
Közös CI-folyamat a PyTorch és a kapcsolódó projektek között
A PyTorch 2026. október 5-én közzétett beszámolója szerint az Accelerator Integration Working Group célja, hogy szabványos, gyártófüggetlen módon kapcsolja az új hardverarchitektúrákat a nyílt forráskódú AI-ökoszisztémához. A csoport szerint ezzel csökkenthető a különálló javítások és az ökoszisztéma töredezettségének mértéke.
A munkacsoport egyik fontos eredménye a Cross-Repository CI Relay, röviden CRCR. A rendszer a PyTorch körül működő projektek, például az Intel XPU, az AMD ROCm, az Apple MPS, a Qualcomm AI Engine, a PrivateUse1 mechanizmust használó gyorsítók, valamint a vLLM, az SGLang és a Hugging Face Transformers tesztelését kapcsolja össze a PyTorch változásaival.
Amikor egy módosítási javaslat nyílik vagy új commit érkezik a pytorch/pytorch tárolóba, egy webhook párhuzamosan értesíti a regisztrált downstream tárolókat. Ezek saját CI-folyamatukban futtatják a teszteket, majd hitelesített visszahívással küldik vissza az eredményt. Az adatok másodperceken belül megjelennek a PyTorch CI HUD felületén, ahol az integrált és a külső tárolók állapota egyaránt követhető.
A CRCR négy részvételi szintet kínál, L1-től L4-ig. A projektek így az egyszerű értesítésektől a teljes jelentésen át a PyTorch pull requestjein megjelenő, előbb nem blokkoló, később blokkoló ellenőrzésekig juthatnak el. A rendszer öt biztonsági réteget használ, köztük az OIDC-alapú identitás-ellenőrzést, engedélyezési listát, sebességkorlátozást és állapotgép-ellenőrzést.
Több mint 276 tesztfájlt alakítottak át
A PyTorch tesztkészlete több mint 600 000 tesztesetet tartalmaz, amelyek többek között az operátorokat, az automatikus gradiensszámítást, a profilozást és az elosztott tanítást vizsgálják. A beszámoló szerint ezek közül sok eredetileg meghatározott gyorsítókhoz kötődött, például rögzített eszközneveket, memóriakezelési API-kat vagy kihagyási szabályokat használt.
A munkacsoport 2026 első felében olyan átalakítást kezdett, amely a teszteket hardverfüggetlenebbé teszi. A fejlesztők több mint 276 tesztfájlt módosítottak a dynamo, a profiler, az nn modulok, a lineáris algebrai funkciók, az optimalizálók, a konvolúciók, a szerializáció, a multiprocesszing és a dataloader területén.
Az új megközelítésben a tesztosztályok három kategóriába kerülnek. Az accelerator-unrelated osztályok gyorsítófüggetlen, általános funkciókat vizsgálnak, az accelerator-agnostic osztályok eszközparaméterezetten több háttérrendszeren futnak, az accelerator-specific osztályok pedig egy adott hardver belső API-jaihoz kötődnek.
A csoport bevezette a hw_classification osztályattribútumot is. Ennek értékei között szerepel a GENERIC, a DEVICE_GENERIC, a CUDA, az XPU és az MPS. A kapcsolódó parancssori jelölés lehetővé teszi, hogy a CI-futtatók automatikusan a hardverükhöz megfelelő tesztcsoportot válasszák ki.
Egy ellenőrzőprogram előírja, hogy az új tesztosztályok deklarálják a hardveres besorolásukat. A bevezetéskor 1191 besorolatlan fájl szerepelt az engedélyezési listán, ezeket fokozatosan kívánják megszüntetni.
Kevesebb egyedi javítás az új gyorsítókhoz
A változtatások a PyTorch szerint megkönnyítik az új gyorsító-háttérrendszerek bekapcsolását. A fejlesztőknek kevesebb tesztfájlt kell egyedi javításokkal ellátniuk, mivel az instantiate_device_type_tests() segítségével automatikusan létrehozhatók a háttérrendszerhez tartozó tesztváltozatok.
Így azok a tesztek is több gyorsítón futhatnak, amelyek korábban például a CUDA-hoz kötött feltételek miatt nem voltak elérhetők más rendszerek számára. A PyTorch leírása szerint egyetlen hardverfüggetlen teszt egyszerre validálhat konfigurációkat CUDA, MPS, XPU, ROCm és PrivateUse1 háttérrendszereken.
A következő időszakban a munkacsoport a besorolatlan tesztek számának nullára csökkentését, valamint a distributed, JIT és autograd modulok hardverfüggetlen lefedettségének bővítését tervezi. A hw_classification CI-ütemezésbe kapcsolása szintén napirenden van, ahogy egy olyan operátorképesség-nyilvántartás vizsgálata is, amelyben a gyorsítók támogatott adattípusokat és pontossági beállításokat adhatnak meg az upstream kód módosítása nélkül.
Az eredmények a gyorsítókat fejlesztő vállalatok számára egységesebb ellenőrzési folyamatot jelenthetnek, a PyTorch közössége pedig egyetlen rendszerben láthatja a kapcsolódó projektek tesztállapotát. A beszámoló alapján ez az integrációs munka a különböző felhős, peremhálózati és speciális szilíciumplatformok közös fejlesztését kívánja kiszámíthatóbbá tenni.

