Should cycle computing devices check both the GPU and the CPU?

Hi, This is a simple question. We specified AMD Radeon GPU as the computing device of the cycle. It is Opencl.
But Ryzen of CPU is also displayed.
Should I check both? Since CPU is used for other software, should it be turned off?
I am using KDE in the ubuntu flavor distribution.

Hi, I don’t know about AMD with OpenCL, but if it works the same way as with NVIDIA CUDA, you should check both, it will render faster as it would be using CPU+GPU, but again, never tested on AMD and OpenCL.

1 Like

Hi :slight_smile:

I have to say that it’s not always “True”


In fact, it depends a lot on the configuration.
When you check CPU+GPU, computation power will be shared per tile on the render.
For example in my case, I have 2 x RTX 2080 Ti, and a 8 cores CPU. If I render on, let’s say, 8 tiles. 2 will be given to GPUs, and 6 will be given to CPU. The GPU finish very quickly, and then I’m waiting for CPU to finish there tiles, during like… an eternity. Whereas if I uncheck CPU, the GPUs are doing both 8 tiles and it’s MUCH MUCH faster.

BUT

If you have 200 tiles to render, and a very fast CPU, using the CPU can be better.

To sum it up, we can say that :
If the config is so that the GPU finish their tiles before CPU, and then wait for CPU, checking CPU+GPU is worse.

A very nice solution would be to be able to have both big and small tiles in one single frame, and let the CPU do tiny ones, GPU do big ones… But that’s not available for now.

See you ++
Tricotou

2 Likes

Yes, enable all the available Cycles compute devices, but also switch to small render tiles.

Cycles is now faster with small tiles like even 16x16 and that’s before you even turn on CPU+GPU rendering where the small tiles also solve the problem of having the faster GPU idle at the end of the render.

thank you everyone. Depending on the configuration, it seems faster to use both CPU + GPU. Does not affect other software?
We used auto tile add-on at 2.7. Does this not help with GPU + CPU calculations?
In 2.7, is CPU + GPU effective if I change the setting of the auto tile? Or should I leave it to the auto tile add-on?
But is this addon not in 2.8? The tile setting itself seems to be missing in 2.8 … maybe?
I apologize for not specifying the version in 2.8 or 2.7. I’m sorry.

thank you, We used to use nvidia before. But nvidia seems not to fix the problem of crashing KDEKwin.
So we chose radeon for our new graphic card. =) Radeon may be quick on Opencl.
How do you set the tile size?

It’s in the performance section, like in 2.79 …

1 Like

As per what others stated. It can work if tiles are small enough… 32x32 is good enough for CPU and GPU to work well. There was optimizations to permit GPU’s to operate very well with low tile sized.

I used that on my Threadripper and Vega56

As for “auto tile” it does not cope well with CPU+GPU combination, as that was introduced in master build but not the last stable 2.79 build.

1 Like

Thank you! I looked at EEVEE rendering settings. =) I found it in the cycle, so I set it to 32x32.
Your post is easy to understand with screenshots.

I guess is just a matter of knowing how to configure it. In my case is always faster with CPU +GPU using small tiles (as Zoot stated) than using GPU alone with big tiles. Don’t know with more than one card though.

1 Like

You use high-performance hardware. =0 I was surprised at the beginning of you post.
Thank you. I set it to 32x32 because you told me.
But if so, is it unnecessary to use an auto title for any rendering size?

Is tile size setting not implemented yet in EEVEE? Is it not necessary because it is a rendering engine different from the cycle? Fast.

Eevee always renders entire frames at once (like progressive mode in Cycles more or less), so there are no settings for tile size.

1 Like

For Eevee, as Zoot stated, no tile sizes.

For Cycles, don’t use auto tiles. OpenCL was optimized to allow GPU’s to render with smaller tiles (prior was dropping a lot of performance, had to have at least 256x256 tile for GPU to work efficiently).

So Cycles, just stick to 32x32. And to be sure, experiment. try 16x16, 32x32, 128x128 and finally 256x256. Then you’ll see what works.

Finally you didn’t provide hardware specification, so hard for me to provide more feedback.

1 Like

I did not know that. eevee is amazing.

Sorry, I apologize first. We certainly didn’t say the hardware we were using.
But I think you have a great hardware environment. it is not sarcastic. I just thought it was amazing.

We will fix the tile size to 32x32 and render. We will try another tile size if we can do it again.
But I am not sure because I switched to AMDPRO-driver> open source driver-xserver-amdgpu from yesterday. =)
Thank you.

So we got to know what we wanted to know.
Thank you to the people who taught me. Thank you.

We remembered this thread because it was linked somewhere. =)
Thanks to the people who answered at that time, for telling us.
In conclusion, rendering that we think is very fast now is done by nvidia card at 32x32.
We are using an nvidia card now because we checked out the configuration that kde plasma no longer crashes in nvidia. We are doing with CPU \ ryzen and GPU \ nvidia.

If there is someone with similar questions.
We note that using both cpu and gpu to make the tile size 32x32 made the rendering speed even faster at 2.79 cycles.
This setting has reduced the stress on rendering latency.

But don’t compare it to EEVEE! It’s totally different because it’s the difference between engines. =(