Bechmarkok, GPU/eGPU macOS/Windows

Ez egyre furabb. Anno utoljara 99 kornyeken probaltam tobb fajta GPU-t egyszerre (Riva 128, Riva TNT, Voodoo 3). Akkor az volt a tapasztalat, hogy a jatekokban, benchmarkokban kivalasztott GPU-n ment a 3D render es csak is azon. Tehat, a masik monitorra athuzott ablak csak egy fekete teruletet mutatott. Linuxon annyi elteres volt, hogy egy PCI-os es egy AGP-s Riva TNT eseten (tehat ketto kartya, ugyonolyan tipusu GPU-val), ha fenn volt az NVIDIA binaris drivere, akkor ott at lehetett huzni az ablakot egyik VGA-rol a masikra.

Jelenleg az a tapasztalat, hogy az a GPU inditja es vegzi a renderelest, amelyik ki van valasztva elsodlegesnek. (Tehat OS X alatt az amelyikre System Preferences/Display alatt oda van huzva a menubar, Windows alatt pedig az, amelyiknel be van pipalva, hogy “make this my main display”.) Viszont elkepzelheto, hogy ezek a tapasztalatok csak akkor ervenyesek, ha a gepben eleve van mar egy dedikalt GPU az Intel mellett. Ha csak az Intel van, akkor elkepzelheto, hogy siman mukodik az, hogy a gep a dedikalt GPU-val is az integraltra renderel (pont ugy, ahogyan hordozhato gepeknel az integralt Intelre van kotve a megjelenito, a dedikalt GPU pedig az Intel framebufferebe vegzi a renderelest). Ha valamilyen app ablakban renderel, akkor egyszeruen at lehet huzni az ablakot a masik GPU-ra kotott megjelenitore es a renderelt tartalom siman atmegy ra, viszont lovesem sincs, hogy hogyan kellene benchmarkot/jatekot full screenben ugy inditani, hogy az iMac beepitett kijelzojen lassam a tartalmat.

Vegeztem par meretst OS X alatt, immaron a Heaven benchmarkkal (OpenGL, Quality: Ultra, Tesselation: Normal, Anti-Aliasing: Off, Windowed 1280x800), az ertekek sorban: MinFPS/MaxFPS/AvgFPS/Score:

  • renderel: HD6970, megjelenit: HD6970 = 6.0 / 71.1 / 21.8 / 550
  • renderel: 1050Ti, megjelenit: HD6970 = 8.4 / 49.5 / 31.8 / 800
  • renderel: 1050Ti, megjelenit: 1050Ti = 24.9 / 171.8 / 60.2 / 1516

Ha nem dugok semmilyen megjelenitot az nVidiara, akkor mind az OS X mind a Windows 10 csak a HD6970-et hasznalja renderelesre. Viszont CUDA es OpenCL eseten hasznalhato marad az extra GPU. Tehat, nem tudom eloidezni az 1050Ti renderel es a 6970 megjelenit allapotot.

Ezek az FPS ertekek PCI-E x1 csatlakozassal mert ertekek (A thunderboltos Akito dobozon x4 foglalat van/lenne), mert a kulso hazhoz kis teljesitmenyu adapter van (ha a doboz az enyem lenne, mar reg levagtam volna rola a csatlakozot es raktam volna ra nagyobb teljesitmenyu tapegyseget), ennek kovetkezteben nem feltetlen tud megfelelo teljesitmenyt leadni. A lenyeg, hogy az 1050Ti az egyetlen kartyam, amelynek nincs plussz villanycsatlakozoja, tehat minden felvett villamos teljesitmenyre a PCI-e csatolon at van szuksege. Az 1050Ti 75W TDP-vel rendelkezik (by Wikipedia) a PCI-E csatolon keresztul pedig maximum 75W felveheto villamos teljesitmeny all rendelkezesre (by Wikipedia), viszont az Akito doboz 60W tapegyseggel rendelkezik, ami neha keves az 1050Ti szamara. Letezik nagyobb (72W) tapegyseg is az eszkozhoz, nekem sajnos nem ez van hozza. Azert gondolom, hogy szamit a savszelesseg, mert ha a megjelenites a masik GPU-ra kotott kijelzon zajlik, akkor valahogyan a PCI-E buszon kell visszapumpalni az adatokat.

Kozben lefrissult az nVidia drivere, ami jelenleg eppen bugos statusban van. Amikor korabban kiprobaltam a GTS450-et, az akkor telepitett nVidia Web driverrel mukodott jol a boot folyamat, az azota lefrissult driver viszont nem mukodik megfeleloen. Ha az iMac kikapcsolt allapotaban dugom be a kulso GPU-t es bekapcsolom, akkor kernel panic lesz az eredmeny kb a toltesi progressbar felenel. Ha viszont csak azutan dugom ra a gepre a GPU-t, hogy a gep inicializalna a GPU-t, de meg nem rakja ki a login screent (ekkor nalam van egy alig-alig eszreveheto villanas, es ekkor kell radugni), akkor siman megjelenik rajta a kep, es minden mukodik tovabb.

Jelenleg azt nem tudom, hogy ha bedugom az Rx480-at, akkor hogyan teszteljek Windows alatt, mert a legutolso driver, ami fenn van a HD6970-hez, az nem tamogatja meg az Rx480-as chippel szerelt kartyat.

1 kedvelés

https://www.sonnetstore.com/collections/thunderbolt-expansion-systems/products/egfx-breakaway-box
Egy ilyenről van pl tapasztalatod?

Mi kezeli?
Sonnet eVGA compatibility

Szerintem kb, mind “egyforma”. Ahogy nezem a speckot, ehhez nem kell kulso ATX tap, mert a leirt 300W eleg lehet arra, hogy egy kartya felvegye a 8tus csatlakozon a 150W teljesitmenyt, a melle jaro 6 tus csatlakozon a 75W teljesitmenyt valamint a PCI-E buszron rendelkezesre allo szinten 75W teljesitmenyt. A full-width es a full-height miatt pedig belefer a kartya. Szerintem ugyonannyira fog mukodni, mint az en dobozom.

M.csaba. Tesztelte meg csak kulso kijelzon megy de meg beta allapotban van. A kerdes inkabb az hogy nekem meg tb2 van a gepemen, de olyan hazat mar nem vennek. Tb2-3 mennyire szeretik egymast?

Azt nem a GPU box donti el, hogy csak kulso vagy belso displayen megy. Ebbe semmi beleszolasa nincs a doboznak. Maga a PCI-E at tudja vinni a kepet, ha kell.

Az Apple TB2-TB3 dongleja mind a ketto iranyban mukodik. Tehat, az a lenyeg, hogy USB type C-t dugod az egyik oldlaba, majd a Mini DP dugot a masik oldalba.

Belső kijelzőn hogyan?

Csaba azt mondta a sonnet jelenleg csak kulso vga-val megy tavaszra igerik a drivert amivel kepes lesz a belso kijelzore is dolgozni. Ezen mar agyalok egy ideje mennyit dobna a fcpx renderen.

Ezt nem igazan ertem. OpenCL/CUDA eseteben a szoftver donti el, hogy melyik eszkozzel szamoltat. Tehat a kuslot kell kivalasztani. Jateknal, pedig azt latom, hogy az az eszkoz renderel, amelyik a default eszkoz. Ha athuzom a menubart a kulsore, akkor a kulso renderel es PCI-E buszon mennek at az adatok. Ezt pl konnyen le tudom validalni, mert az F1-2016 hasznalhatatlanul szaggat 1920x1080-ban ha a Radeon 6970M-et hasznalom, viszont jol megy ha szinten a belso monitorra huzom az ablakat, de elotte a kulsore kotott monitorra huztam a dockot. Windowson ugyon ez a helyzet.

Amire nem talaltam meg megoldast (nem is foglalkoztam vele 5 percnel tovabb), hogy ugy inditani full screenben jatekot windows alatt az iMac sajat monitoran, hogy a kulso monitorra kotott GPU rendereljen.

Azt is latom, hogy ha csak be van dugva a kulso GPU, de arra nicns radugva semmilyen monitor, akkor jelenleg nem tudok rajta renderelest inditani, hogy a belson jelenjen meg. De ez meg nyilvan GPU driver kerdese, hiszen ugyonezt tapasztalom hackintosh alatt is, ha nem thunderbolton hanem siman az alaplapi PCI-E foglalatba dugok 1-1 GPU-t.

A lenyeg, hogy ahol a 3D surface inicializalva lett, vegig az a GPU renderel. Ha masik GPU-ra huzod az ablakot, akkor csak memoriacopy muveletek vannak PCI-E buszon keresztul. Kb. pont igy mukodik az intel GPU + dedikalt GPU a notebookokban. Az Intel GPU-ra van huzalozva fizikailag a megjelenito es a dedikalt GPU pedig vegso renderkent, a masik kartya (ezesetben az Intel GPU) framebufferebe renderel. Ez viszont tetemes teljesitmenycsokkenest okoz, pl. jatekok alatt egy ilyen tobb GPU-s notebook jelentosen lasabb (akar 15-20% is) mintha le lenne tiltva az integralt Intel es fizikailag a dedikalt GPU-ra lenne kotve a monitor.

Igen ha nincs radugva kulso kijelzo akkor soha nem hasznalja az egpu-t elvileg erre jon driver tavasszal.

Nade, ez az OS-en mulik. Ehhez semmi koze a thunderbolt doboznak. A leirt jelenseg fuggetlen attol, hogy milyen feluleten keresztul es hany darab gpu van csatlakoztatva (akar TB akar belso PCI-E akar ExpressCard). Ha ezt ok megoldjak, akkor az alltaluk az OS-be elhelyezett hack (nem is tudom, hogy akarom-e en azt, hogy 3rd party ennyire melyen beleturjon a rendszerbe) hasznalhato lesz barmilyen masik gepen is.

Szerintem ez driver kerdese kb olyan mint amikor sli-be megy ket gpu. Persze te lenyegesen jobban ertesz hozza. Mert gyakorlatilag itt az a cel hogy menjen sli-be a ket gpu a belso megjeleniti a kepet a tb hazban levo csak szamol.

Most igy kicsit gondolkodtam rajta hegesztes kozben 😂, az OS eddig se volt kepes egyszere ket gpu-t hasznalni csak valtani (egyedul a kuka mac pro tudta). Szoval eros tipp de szerintem ez teljesen driver kerdese nem?

A macOS folyamatosan egyszerre hasznalja a gpukat. Egyedul a 9400/9600-os sorozatos nVidia MacBook Proknal kell kulon valtani. Az ujabb gepeken, mar teljesen automata a “valtas”. Az alap desktopot az Intel GPU rakja ki, majd adott programra/ablakra kapcsol be a dedikalt GPU. Tehat ez teljesen driver fuggo, viszont ehhez elegge melyen bele kell nyulni az OS-be.

Na de akkor a gepnek mindegy hogy tb3 vagy pcie sinben van a gpu. Ez jol gondoltam csak driver kerdese es menni fog (sonnet tavaszra igeri) irtam m.csabanak nyomjon mar egy tesztett a fcpx-el ha van ideje, hatha. Mondjuk egy ilyen haz 300 euro ennyiert rohogve veszek egy 3.1 MP-t a gpu-t meg igyis-ugyis meg kell venni.

Az, hogy ez driverbol megoldhato, az vilagos. Viszont az is vilagos, hogy ez nem a dobozhoz kello driver, hanem valami driver, ami vagy egy moddolt nVidia vagy egy moddolt ATI drviert rak fel vagy valami masba moddol bele macOS alatt. Viszont nem biztos, hogy en akarnam, hogy a sonnet vagy barki mas ezekbe ilyen melyen belemokoljon valamit.

Nyilvan neked kell eldonteni, hogy melyik gepre akarod, a cMP mellett szol, hogy akkor is tud renderelni, ha eppen a vonaton/repulon/parkban vagy es a geped nalad van a taskaban.

Viszont nem probaltam meg a Radeont, mert ehhez szet kellene szednem a masik gepemet, amiben a Radeon van, mert az 1050Ti az csak itt hever a szeken. Azt tudom, hogy a Radeonhoz nem kell megmokolni a Polaris drivert, tehat lehet, hogy a Radeonnal helybol mukodik a gyari screenre valo rendereles.

Laikusként úgy vélem, hogy FCPX-rendernél nem az az igény, hogy a framebufferbe írja az eredményeket…

Nyilvan FCP-nel csak annyi kell, hogy ki lehessen valasztani (vagy valassza ki az elerheto legerosebbet), hogy a nalam elerheto 4 OpenCL eszkozbol melyiken rendereljen es enkodoljon (nekem van ugye egy i7, HD2000, Radeon HD6970 es egy Ti1050).

A Sonnet leírásában szerepel, hogy OS-szinten ez (még) nem támogatott, vagy rosszul értelmezem?

A sonnet igeri allitolag, hogy ehhez lesz drivere. Most vagy lesz gyarilag ehhez megildas az Apple reszerol, vagy ok fognak melyen a rendszerben turkalni, hogy ez a feature mukodjon. Nyilvan Appleval karoltve ugy is meg tudjak am csinalni, hogy a gyari support csak akkor legyen aktiv, ha van a gepre dugva rgy sonnet PCI-E hub is.