I don't think your problem is solvable, unfortunately. You have relatively little video memory, yet want to render big scenes. Indigo doesn't have "out-of-core" GPU rendering, and NVIDIA GPUs are known to be more memory limited in OpenCL mode (which is probably why you can't allocate all of it). This is all explained here:

The problem is that for high quality work I need 30-60Gb of memory, and it is technically impossible for today. Nvidia has released professional video cards in 32Gb memory but by the autumn I expect the appearance of game video cards with the same volume but much cheaper. In this volume, I can fit, but still the artistic part of the work gets worse.

The most important difference of Indigo is the ability to focus on the artistic part of the work. If it was possible to work on the GPU without thinking about the polygons, as possible on the CPU - it would be incredibly productive!

If out-of-core rendering is possible with OpenCL then we can add it. OpenCL 2.0 adds 'shared virtual memory', which maybe does the trick.

Below is a link to posts about Cycles ability to offload textures (VRAM > sys RAM). It's also mentioned that latest AMD drivers give such ability without the need to code in app but cannot confirm or test the later statement