Az Nvidia a 2015-ös International Conference on Machine Learning alkalmával több érdekes újításról is lerántotta a leplet, amelyek nagyban segítik majd a gépi tanulás területén dolgozó szoftverfejlesztőket – és nem csak őket.
A bejelentés három területet érint: az egyik a CUDA, a másik a cuDNN, a harmadik pedig a DIGITS. Ugyan az Nvidia elsődlegesen hardver-értékesítéssel foglalkozik, de a siker érdekében a hardver képességeinek kiaknázásában segítő szoftverek és szoftverkörnyezetek fejlesztésére is nagyon nagy hangsúlyt fordít, hiszen ez a siker egyik kulcsa. A friss bejelentések ezúttal a Maxwell architektúrára és az FP16-ra vannak kihegyezve – az újítások a neurális hálózatok terén, illetve egyéb félpontosságú műveletekkel dolgozó megoldáson terén juthatnak komoly szerephez, hisz az Nvidia úgy véli, ezekben a területekben a jövőre nézve komoly potenciál van.
Persze az Nvidia egyelőre csak egyetlen olyan termékkel rendelkezik a piacon, amely magas FP16-os teljesítményt kínál – ez a Tegra X1 –, de a következő generációs, a Maxwell után érkező Pascal architektúrára támaszkodó termékek már rendelkezni fognak hasonló képességgel, így teljesen logikus, hogy a szoftverfejlesztő részleg jó előre felkészül az újításokban rejlő lehetőségek kiaknázására. Nézzük is, mely területeken milyen változásokra lehet számítani a három újdonság jóvoltából.
CUDA 7.5
CUDA fronton egy "kisebb" frissítésre került sor – ez indokolja, hogy a verziószám most nem egy egész számot ugrott felfelé. A CUDA 7.5 jelenleg kiadásra jelölt (RC) változatban érhető el az érdeklődők számára, legfontosabb újítása pedig az FP16 mód támogatása. Ezen felül csökkent a memóriahasználata, így például több adat préselhető be vele a VRAM-ba.
A CUDA 7.5 ezzel együtt új utasításszintű profilozási lehetőségeket is kínál: a Visual Profiler már eddig is mély elemzésre adott módot, ám mostantól a vállalat abban is segítséget nyújt a fejlesztőknek, hogy hatékonyan azonosítsák, mely kódrészletek és utasítások azok, amelyek visszafogják a teljesítményt.
cuDNN 3
A második újdonság a CUDA Deep Neural Network könyvtárat érinti, amely GPU gyorsítás mellett üzemelő, neurális hálózatokban használatos funkciókat tartalmaz. A CUDA 7.5-ös kiadásával együttműködő cuDNN 3 biztosítja az FP16-os adatformátumok támogatását a meglévő Nvidia GPU-k esetében annak érdekében, hogy a memória- és a memória-sávszélesség használat hatékonyabb lehessen, így a nagyobb adatmennyiségekkel történő munkavégzés is hatékonyabbá válhat.
Az FP16-os optimalizációk mellett a Maxwell alapú grafikus processzorokhoz is érkezett némi optimalizáció, amelyek hatására összességében érezhető teljesítménynövekedésre lehet számítani. Utóbbit jól jellemzi, hogy akár kétszeres mértékben is gyorsulhat a neurális hálózat tanulási teljesítménye ezeknél a rendszereknél.
DIGITS 2
A CUDA 7.5 és a cuDNN mellett a DIGITS 2 is bemutatkozott, ami előbbiekre épül. A GPU alapú mélytanuláshoz használható middleware első kiadását idén márciusban indította útjára a cég, ehhez képest a második verzió nagyon hamar megérkezett. A DIGITS dióhéjban egy felhasználóbarát magas-szintű, neurális hálózatokhoz készített szoftver, ami a programozók helyett inkább a tudósokat és a kutatókat célozza.
A DIGITS 2 segítségével több GPU bevetésével is lehet neurális hálózatokat tanítani – ez a funkció különösen ideális a nemrég bejelentett DIGITS DevBox-hoz, ami ugye négy darab GeForce GTX Titan X videokártyát rejt. A több GPU bevetése igazából nem hoz akkora előrelépést, mint azt sokan várhatnák: ha egy helyett négy GPU-t fogunk munkára, akkor csak nagyjából kétszeres teljesítménynövekedésre számíthatunk. Az Nvidia adatai szerint egyről két GPU-ra történő átállás alkalmával nagyon jó a skálázódás, de ha kettőről négy GPU-ra váltunk, akkor már kevésbé jelentős az előrelépés, ami valószínűleg az adatbuszt terhelő forgalomból, illetve a szinkronizáció jelentette extra terhelésből adódhat. Ennek fényében érdekes lesz látni, mi lesz a helyzet azoknál a rendszereknél amelyek már Pascal GPU-kat és NVLink buszokat használnak, azaz látványosan javul-e a skálázódás.
A DIGITS 2 bemutató kiadása már most is elérhető, arról azonban nincs hír, hogy a végleges változat pontosan mikor érkezik.