Jó régen írtam valamicskét , úgy hogy most eljött az idő, hogy pótoljam eme hiányoságot. Nem is olyan régen tartottam előadást az egyetemen a 3D distributed renderingről. Mi ennek a lényege ?
-Hogy a legfiatalabbak is értsék , ahhoz tudnám hasonlítani amikor egy játékot maximumra húzva nem vagyunk képesek tartani a fix 30 vagy 60 fps-t kinek mi a zsánerre, akkor bizony valamely részét a gépnek cseréljük általában VGAt de a lényeg ,hogy erőforráshoz szeretnénk jutni. Ugyanaz történik itt is csak éppeséggel annyi különbséggel ,hogy nem egy gépben lesz az említett erőforrás ,hanem töb gépben , innentől kezdve nevezzük úgy ,hogy clusterekbe szervezzük. Mi a cluster? Egy host gép és azokhoz tartozó úgy mond alválalkozó gépek.
Az iskolai projektem az volt ,hogy Nvidia Cuda-s gépeket clusterekbe szervezzem , majd a renderelési időket kikelett elmeznem és hát születtek érdekes adatok. De előtte egy két szó a megvalósításról :
A gépek nem egy paksi atomerőművek voltak a leglightosabb Core I3-as procik voltak 4GB rammal illetve az említett szintén legolcsóbb CUDA-s kártyákkal. Ugye szegény architektúra tanárom szokta mondani mit ér az erőmű ha csak az 50 %át tudom felhasználni , hát itt megmutatkozott ,hogy az otthoni gépemet mennyire nem tudtam 100 %-ig kihasználni.
A szoftver természetesen a jól ismert 3DS MAX 2012 volt hiszen a suli ezekből rendelkezik licenszel , illetve a mental-ray és i-ray engine-t alkalmaztam még otthon a final rendert.
Miután beállítottam a clustert és beállítottam a GI-t és egyéb nyalánkságot elindult elöszőr a mérés egy gépen majd több gépen. Már az egy gépen vissza esett ötödére a render idő de érdekes mód a hálózatba kötött ugyanolyan gépeknél már nem volt ekkora az ugrás , aki sejti a választ az írja meg kommentbe és ne olvasson tovább , mert mindjárt megmagyarázom !
A magyarázat ! A render engine úgy dolgozik ,hogy a GPU számolt de a rendszer memóriába tárolt , de ahoz ,hogy a kép összeálljon vissza kell másolni a gpu RAM-ba , így ez is idő , hát még az etherneten...
Végülis nem sokkal a kutatásom után találtam rá az NVIDIA nyilatkozatára miszerint tudják ,hogy ez baj így a kövi CUDA verzióban már elmossák ezt a réteget !
Addig is néhány képecske :