We have originally designed the system in such a way that it uses 3 buffers (see bottom line of status info in IPR window):
1) buffer for rays
- it uses between 512 and 1024 MB which is computed automatically based on available GPU memory (this is needed for out-of-core geometry engine and powerfull pipeline processing. This thing has a lot of advantages (out-of-core geometry, more flexible and efficient mapping of graphics features to GPU, it has huge potential to be extended with very advanced future features). The dissadvantage is that it takes this up to 1GB of mem (but no more) which is quite influential on small GPUs with 2GB only. However the trend is that new generation low-end GPUs will have 4GBs (1050ti) and 2GB (for just 1050).
2) geo cache GPU
- this can be tuned by user in HW settings. And in multi-GPU setup the first iteration of implementation will have one setting for all selected GPUs. And later we will probably make it a setting for each GPU if this will not complicate the usage. If the scene is large and doesn't fit to GPU memory then the more you allocate here the faster the renderer is (slightly). However, the influence is not very pathalogical here. It should not deaccelerate too much for very out-of-core scenes. Your scenes just have to fit in main RAM.
3) tex cache GPU
- same history for textures. They are implemented even more efficient than geometry. I think that something less than 1GB is ok here almost always. There is also a cache size setting for RAM memory which is uses for textures. For instance you may have 32GB RAM and 60 GB of textures in total. All textures are stored on disc in unpacked format. A convenient thing is that you need just few GB of cache for textures in RAM and don't to pollute the whole RAM. But the disc is polluted with all that *.mml files. I believe, that discs are much larger and cheaper than RAM anyway
So, as you see we have designed the system focusing on big scenes with stress situation.
However, when people start testing it with basic scenes the questions emerge. For example, if there is only single GPU in the system then it can be not nice to grab all memory from it. But we take only allocatable memory and don't exceed the memory limits.
Anyway thanks for pointing to this thing. I think it is possible to make some changes in the future, so that geometry/texture caches will be auto-extended only on demand by the amount that is necessary for scene up to specified limits in HW settings. Right now it's all controlled by manual input.