There is some miss information in this thread, so again for clarity;
The CPU is used for to run the app, disk I/O and compression and decompression of codecs. If you have a red rocket for r3d files thats the exception as those clips are decompressed in the rocket.
The GPU is used for image processing and UI. You can use the same card for both, or have them complete these separate tasks. If your cards are matched, i.e. two Titan Xp, or two GTX 1080 or AMD Firepro W9100 or AMD R9 295X etc etc, we recommend using both for compute with UI monitors connected to just one. If you add more GPUs add the same again.
Ram in one GPU is only used in that GPU. Processors in one GPU are only used in that GPU. If you have different GPU models with different specs, one of the GPUs will be faster and it will complete the processing task faster. Its therefore going to be waiting for the slow GPU. That wont stop it working but its not efficent.
If you have the same number of processors in each GPU but one GPU has more memory, then it can process higher resolution images with more effects before filling the memory. The GPU with the smaller memory will exhaust its RAM quicker and you will see the GPU memory full message.
Resolve does not use SLI or other cross GPU connections. We manage the GPUs directly.
So unbalanced GPUs in the best case waste processing performance of the faster GPUs and limit resolution and effects that can be processed down to the GPU with the smallest memory.
If you have a low power, low memory GPU and would like to add a faster one, assuming the low power GPU is sufficient to run Resolve by itself, make that the UI only GPU and get the fastest GPU with the most RAM you can afford and use that just for processing.
If you are looking for more guidance, this is a good place to start.
viewtopic.php?f=21&t=62582