-
Notifications
You must be signed in to change notification settings - Fork 3
VRAM size and bandwidth constraints
Hüseyin Tuğrul BÜYÜKIŞIK edited this page Mar 5, 2021
·
1 revision
It is possible to alter ratio of data distribution between cards which also reflects the bandwidth distribution:
To give five times bandwidth possibility (and VRAM storage request) for the third card in a 3-card system:
GraphicsCardSupplyDepot depot;
...
std::vector<int> ratios={1,1,5}
VirtualMultiArray<ArrayData<int>> data(..,..,..,..,ratios);
To skip first card in storage tasks:
GraphicsCardSupplyDepot depot;
...
std::vector<int> ratios={0,5,5}
VirtualMultiArray<ArrayData<int>> data(..,..,..,..,ratios);
To use more bandwidth on the second card (if it has higher PCIE specs than others):
GraphicsCardSupplyDepot depot;
...
std::vector<int> ratios={2,10,2}
VirtualMultiArray<ArrayData<int>> data(..,..,..,..,ratios);
To use only the last card in system and without any multi-copying allowed (this lowers performance in multi-threaded access):
GraphicsCardSupplyDepot depot;
...
std::vector<int> ratios={0,0,1}
VirtualMultiArray<ArrayData<int>> data(..,..,..,..,ratios);
Default value of this parameter is {4,4,4...,4} that gives 4 virtual graphics cards for each physical card which enables 4 concurrent channels for data copy overlapping(for performance) and needs number-of-cards x 4 CPU threads to be fully efficient in sequential access.