So I have been working on an animation that consists of 1950 frames which I subsequently rendered in EEVEE using Blender 2.80 and a Dual Xeon, Dual 1080ti setup. Of course it was faster than cycles, but being the impatient person that I am and wondering why really EEVEE couldn’t use both graphics cards (yes, I have read all about why) I decided to just open two copies of Blender and assign the first half of the frames to one instance of Blender and the other half to the other instance.
The time per frame slowed by 1/10th of a second, but essentially the final render was twice as fast.
Then I had to look up how Blender was assigning the graphics card and after some searching around I found this post on Blender Artists by Daniel_Paul:
He explained how - with WINDOWS ONLY and with NVIDIA CARDS ONLY, to assign copies of Blender different graphics cards within the NVIDIA control panel AND he created a Windows batch file which will run your animation render through the console (headless) and you can pick how many cards and how many instances to use!!!
So if you have multiple NVIDIA gpus and you want to run EEVEE animations even faster, check out the BlenderArtists link above.
I believe you’ll gain even more speed by using OpenEXR with PIZ codec instead of PNG. I haven’t tested myself but PNG seems to be oddly slowest and actually taking more space! (Comparing to DWAA codec) Check this out:
I experimented with that. It’s not supported by the drivers as is.
You can do it by starting 2 x-servers on two monitors, but I wasn’t able to stabalize the system under those circumstances. And performance was less than good.
Well, yeah there’s a boost. half of the frames are being rendered on one GPU and the other half are being rendered on the other GPU. Neither GPU is actually being pushed while rendering though… and that’s why running multiple instances causes the times to drop also. Even at 3 instances, the GPUs on my system were not at a solid 100% usage all of the time.
I am testing new PRIME Render Offload (On Demand) on Kubuntu 20.04 LTS (beta), nvidia 440.59 driver from PPA. Multi monitor/multi GPU enabled from my BIOS.
Finally I can use intel iGPU by default and nvidia on demand by following these steps and this xorg.conf configuration: https://forums.linuxmint.com/viewtopic.php?p=1683387
Eevee OpenGL render in intel iGPU and nvidia give results with some differences, so in practice render on both at the same time is not useful. I guess with multiple nvidia cards the results will be the same. Unfortunately I have only one nvidia card and I cannot do tests. But I suppose that with all the new features in new nvidia drivers it should be possible. If this is not yet possible, it would be nice that Linux users with more than one nvidia GPU discuss this in the nvidia devtalk forum.