-
Notifications
You must be signed in to change notification settings - Fork 3
Auto tuning data distribution
When graphics cards in system have different amount of vram, their respective data share can be automatically chosen by VirtualMultiArray::MemMult::UseVramRatios
parameter given to mem
parameter of constructor of VirtualMultiArray.
VirtualMultiArray<Obj> data1(n,..,..,..,{1,1,1},VirtualMultiArray<Obj>::UseVramRatios);
This overrides the parameter before it. {1,1,1}
is overwritten by actual memory size of each card but in GB units and becomes {2,2,2}
.
If user disables a card like {0,1,1}
, then new values become {0,vram_amount1,vram_amount2}
that still disables same card.
If OpenCL driver fails to query value of vram of a card, then it is defaulted to 2GB which may overflow a 1GB card's vram or waste some vram of a card with bigger vram. In this situation, user can pick VirtualMultiArray<Obj>::UseDefault
(which is default value) and use memMult
parameter directly to increase that card's share like this: {2,16,2}
.