This trick is useless if you use VRAY_OPENCL_MIXED_MODE=1
As you may have noticed when you use VRayRT as renderer you can choose GPU rendering or CPU rendering.
This means that if you choose for ex. GPU OPenCL rendering then only your GPU is used, all your CPUs remain unused!![](https://forums.chaos.com/core/images/smilies/icon_rolleyes.gif)
The result is a waste of computing power, especialy if you have multiple core/processor machine.
The idea here is to have both GPU(s) and CPU(s) rendering together the same image.
In order to do that we will use VRayRT Distributed Rendering but on a SINGLE workstation.
How?!
This is quite easy to do
....
For this example I have used this workstation :
- dual Xeon 5520 2.27GHz so a 16 cores workstation
- 12Gb of RAM
- RADEON HD 5770 with 512Mb occed to GPU 1000MHz and memory 1300Mhz
- First you will need to build a Virtual Machine (the guest) on your sation (the host).
WMWare could be an alternative but unfortunatly it's only able to use 8 virtualized cores and it cost 153,14 € ($189.00 ).
So I did use VirtualBox instead that can handle up to 32 cores and wich is...free!
http://www.virtualbox.org/
- I build my guest with the following specs : 25Gb HD, 4Gb RAM (wich left 8Gb to my host), 14 cores(so 2 cores will remain free for the host) and enabled hardware virtualization.
- Then install on your new guest your OS (Windows 7 64bit in my case), 3dsmax, Vray.
- The guest then must be seen in your network host as a new computer so let say your host is 192.168.1.10 then use 192.168.1.xxx for the guest.
- Now fireup 3dsmax on the host.
- Load a scene and setup the renderer to VRayRT.
- In VRayRT set the engine to OpenCL and check distributed rendering. Here you can now add your render server guest : 192.168.1.xxx.
Of course the render guest will not be OpenCL capable so it will go back to CPU rendering and will use the 14 cores while the host will use its GPU.
here are the results :
CPU only (so 16 threads) 2m15s:
GPU only 2m47s :
and now CPU (14 threads) + GPU 1m28s :
As you can see it's now much faster as it use nearly 100% of you CPUs and 100% of you GPU.
I hope it would be usefull for some of you.
Regards.
[EDIT] With envornment variable VRAY_OPENCL_MIXED_MODE 1 here is the result :
CPU (16 cores) + GPU 1m19s :
As you may have noticed when you use VRayRT as renderer you can choose GPU rendering or CPU rendering.
This means that if you choose for ex. GPU OPenCL rendering then only your GPU is used, all your CPUs remain unused!
![](https://forums.chaos.com/core/images/smilies/icon_rolleyes.gif)
The result is a waste of computing power, especialy if you have multiple core/processor machine.
The idea here is to have both GPU(s) and CPU(s) rendering together the same image.
In order to do that we will use VRayRT Distributed Rendering but on a SINGLE workstation.
How?!
This is quite easy to do
![](https://forums.chaos.com/core/images/smilies/icon_cool.gif)
For this example I have used this workstation :
- dual Xeon 5520 2.27GHz so a 16 cores workstation
- 12Gb of RAM
- RADEON HD 5770 with 512Mb occed to GPU 1000MHz and memory 1300Mhz
- First you will need to build a Virtual Machine (the guest) on your sation (the host).
WMWare could be an alternative but unfortunatly it's only able to use 8 virtualized cores and it cost 153,14 € ($189.00 ).
So I did use VirtualBox instead that can handle up to 32 cores and wich is...free!
http://www.virtualbox.org/
- I build my guest with the following specs : 25Gb HD, 4Gb RAM (wich left 8Gb to my host), 14 cores(so 2 cores will remain free for the host) and enabled hardware virtualization.
- Then install on your new guest your OS (Windows 7 64bit in my case), 3dsmax, Vray.
- The guest then must be seen in your network host as a new computer so let say your host is 192.168.1.10 then use 192.168.1.xxx for the guest.
- Now fireup 3dsmax on the host.
- Load a scene and setup the renderer to VRayRT.
- In VRayRT set the engine to OpenCL and check distributed rendering. Here you can now add your render server guest : 192.168.1.xxx.
Of course the render guest will not be OpenCL capable so it will go back to CPU rendering and will use the 14 cores while the host will use its GPU.
here are the results :
CPU only (so 16 threads) 2m15s:
GPU only 2m47s :
and now CPU (14 threads) + GPU 1m28s :
As you can see it's now much faster as it use nearly 100% of you CPUs and 100% of you GPU.
I hope it would be usefull for some of you.
Regards.
[EDIT] With envornment variable VRAY_OPENCL_MIXED_MODE 1 here is the result :
CPU (16 cores) + GPU 1m19s :
Comment