Tile stealing glitches with adaptive sampling #82351

Closed
opened 2020-11-03 06:39:19 +01:00 by Daniel Salazar · 78 comments
Member

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1080 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 457.09

Blender Version
Broken: version: 2.92.0 Alpha, branch: master, commit date: 2020-11-02 14:36, hash: 7872bcafa0
Caused by 517ff40b12

Short description of error
Adaptive sampling introduces random errors on the stolen tiles

image.png

Exact steps for others to reproduce the error

Open the following file
StealThis.blend
Enable GPU+CPU mode in the preferences
image.png
Hit F12
If it's not very visible the first time, try again

**System Information** Operating system: Windows-10-10.0.19041-SP0 64 Bits Graphics card: GeForce GTX 1080 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 457.09 **Blender Version** Broken: version: 2.92.0 Alpha, branch: master, commit date: 2020-11-02 14:36, hash: `7872bcafa0` Caused by 517ff40b12 **Short description of error** Adaptive sampling introduces random errors on the stolen tiles ![image.png](https://archive.blender.org/developer/F9177013/image.png) **Exact steps for others to reproduce the error** Open the following file [StealThis.blend](https://archive.blender.org/developer/F9177040/StealThis.blend) Enable GPU+CPU mode in the preferences ![image.png](https://archive.blender.org/developer/F9177057/image.png) Hit F12 If it's not very visible the first time, try again
Author
Member

Added subscriber: @zanqdo

Added subscriber: @zanqdo

#84544 was marked as duplicate of this issue

#84544 was marked as duplicate of this issue

#84115 was marked as duplicate of this issue

#84115 was marked as duplicate of this issue

#83763 was marked as duplicate of this issue

#83763 was marked as duplicate of this issue

#83741 was marked as duplicate of this issue

#83741 was marked as duplicate of this issue

#83332 was marked as duplicate of this issue

#83332 was marked as duplicate of this issue

#83149 was marked as duplicate of this issue

#83149 was marked as duplicate of this issue

#82717 was marked as duplicate of this issue

#82717 was marked as duplicate of this issue

#82632 was marked as duplicate of this issue

#82632 was marked as duplicate of this issue

#82498 was marked as duplicate of this issue

#82498 was marked as duplicate of this issue

#82497 was marked as duplicate of this issue

#82497 was marked as duplicate of this issue

#82474 was marked as duplicate of this issue

#82474 was marked as duplicate of this issue

#82394 was marked as duplicate of this issue

#82394 was marked as duplicate of this issue
Daniel Salazar changed title from Tile stealing doesn't play nice with adaptive sampling to Tile stealing glitches with adaptive sampling 2020-11-03 06:40:11 +01:00
Member

Added subscribers: @LukasStockner, @lichtwerk

Added subscribers: @LukasStockner, @lichtwerk
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

@LukasStockner: mind checking?

@LukasStockner: mind checking?
Lukas Stockner self-assigned this 2020-11-03 14:07:49 +01:00

Added subscriber: @juang3d

Added subscriber: @juang3d

Adaptive sampling never worked completely fine with CPU + GPU, Stefan can give the explanation better than me
It’s a matter of when the CPU and the GPU computation can be stopped

Adaptive sampling never worked completely fine with CPU + GPU, Stefan can give the explanation better than me It’s a matter of when the CPU and the GPU computation can be stopped
Member

Added subscriber: @Jan-PhilipBusse

Added subscriber: @Jan-PhilipBusse

Added subscriber: @Adam-Burke

Added subscriber: @Adam-Burke
Member

Added subscribers: @Renderbicks, @Alaska, @rboxman

Added subscribers: @Renderbicks, @Alaska, @rboxman

Added subscribers: @Unreleased75, @olhapi

Added subscribers: @Unreleased75, @olhapi
Author
Member

Added subscribers: @Slowwkidd, @schampions

Added subscribers: @Slowwkidd, @schampions

Added subscriber: @strangerman

Added subscriber: @strangerman
Member

Added subscriber: @leiserfg

Added subscriber: @leiserfg
Member

Added subscriber: @the_avg_guy

Added subscriber: @the_avg_guy

Added subscriber: @dfelinto

Added subscriber: @dfelinto

Tagging as 2.92 so it doesn't get on the way of the 2.91 release coordination.

Tagging as 2.92 so it doesn't get on the way of the 2.91 release coordination.
Author
Member

@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

In #82351#1057234, @zanqdo wrote:
@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene.

> In #82351#1057234, @zanqdo wrote: > @dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now. This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene.
Author
Member

In #82351#1057255, @Renderbicks wrote:

In #82351#1057234, @zanqdo wrote:
@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene.

No more options needed. Just a temporary check that disables something that is BROKEN. Until it gets fixed.

> In #82351#1057255, @Renderbicks wrote: >> In #82351#1057234, @zanqdo wrote: >> @dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now. > > This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene. No more options needed. Just a temporary check that disables something that is BROKEN. Until it gets fixed.

Added subscriber: @SteffenD

Added subscriber: @SteffenD

I applied Lukas' patch and it works perfectly. It just needs to get reviewed and accepted.

I applied Lukas' patch and it works perfectly. It just needs to get reviewed and accepted.

In #82351#1057257, @zanqdo wrote:

In #82351#1057255, @Renderbicks wrote:

In #82351#1057234, @zanqdo wrote:
@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene.

No more options needed. Just a temporary check that disables something that is BROKEN. Until it gets fixed.

From a production pov it should be an option to decide to render on a farm with or without CPU. I would recommend to add a feature in the Render Setting and not Preferences only to disable the hybrid mode. Because setting to GPU will take the Preferences settings only locally. And this is not really useful eg. when you do distributed rendering on machines with GPU turned on but some use CPU and some not.

Summary: A button below the CPU/GPU menu will override the local System settings and set it to GPU only. Turned off will enable the local System settings as usual.

> In #82351#1057257, @zanqdo wrote: >> In #82351#1057255, @Renderbicks wrote: >>> In #82351#1057234, @zanqdo wrote: >>> @dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now. >> >> This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene. > > No more options needed. Just a temporary check that disables something that is BROKEN. Until it gets fixed. From a production pov it should be an option to decide to render on a farm with or without CPU. I would recommend to add a feature in the Render Setting and not Preferences only to disable the hybrid mode. Because setting to GPU will take the Preferences settings only locally. And this is not really useful eg. when you do distributed rendering on machines with GPU turned on but some use CPU and some not. Summary: A button below the CPU/GPU menu will override the local System settings and set it to GPU only. Turned off will enable the local System settings as usual.

Added subscriber: @rjg

Added subscriber: @rjg

@Renderbicks Please don't post feature requests on the bug tracker. Besides, you can already configure this via Python and/or the render farm should provide a proper setup with their preferences.

@Renderbicks Please don't post feature requests on the bug tracker. Besides, you can already configure this via Python and/or the render farm should provide a proper setup with *their* preferences.

In #82351#1057284, @rjg wrote:
@Renderbicks Please don't post feature requests on the bug tracker. Besides, you can already configure this via Python.

Understood! I just responded to Daniel. Where can I post a feature request being reviewed by the dev team?

> In #82351#1057284, @rjg wrote: > @Renderbicks Please don't post feature requests on the bug tracker. Besides, you can already configure this via Python. Understood! I just responded to Daniel. Where can I post a feature request being reviewed by the dev team?

This page lists where you can leave feedback or make feature proposals.

[This page ](https://wiki.blender.org/wiki/Communication/Contact#User_Feedback_and_Requests) lists where you can leave feedback or make feature proposals.
Author
Member

In #82351#1057276, @Renderbicks wrote:

In #82351#1057257, @zanqdo wrote:

In #82351#1057255, @Renderbicks wrote:

In #82351#1057234, @zanqdo wrote:
@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene.

No more options needed. Just a temporary check that disables something that is BROKEN. Until it gets fixed.

From a production pov it should be an option to decide to render on a farm with or without CPU. I would recommend to add a feature in the Render Setting and not Preferences only to disable the hybrid mode. Because setting to GPU will take the Preferences settings only locally. And this is not really useful eg. when you do distributed rendering on machines with GPU turned on but some use CPU and some not.

Summary: A button below the CPU/GPU menu will override the local System settings and set it to GPU only. Turned off will enable the local System settings as usual.

This is wrong. The renderfarm itself should configure the rendering units based on each virtual machine´s capabilities. This does not belong to the blend file since the same blend file could end up being rendered in different hardware.

> In #82351#1057276, @Renderbicks wrote: >> In #82351#1057257, @zanqdo wrote: >>> In #82351#1057255, @Renderbicks wrote: >>>> In #82351#1057234, @zanqdo wrote: >>>> @dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now. >>> >>> This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene. >> >> No more options needed. Just a temporary check that disables something that is BROKEN. Until it gets fixed. > > From a production pov it should be an option to decide to render on a farm with or without CPU. I would recommend to add a feature in the Render Setting and not Preferences only to disable the hybrid mode. Because setting to GPU will take the Preferences settings only locally. And this is not really useful eg. when you do distributed rendering on machines with GPU turned on but some use CPU and some not. > > Summary: A button below the CPU/GPU menu will override the local System settings and set it to GPU only. Turned off will enable the local System settings as usual. This is wrong. The renderfarm itself should configure the rendering units based on each virtual machine´s capabilities. This does not belong to the blend file since the same blend file could end up being rendered in different hardware.

In #82351#1057293, @zanqdo wrote:

In #82351#1057276, @Renderbicks wrote:

In #82351#1057257, @zanqdo wrote:

In #82351#1057255, @Renderbicks wrote:

In #82351#1057234, @zanqdo wrote:
@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene.

No more options needed. Just a temporary check that disables something that is BROKEN. Until it gets fixed.

From a production pov it should be an option to decide to render on a farm with or without CPU. I would recommend to add a feature in the Render Setting and not Preferences only to disable the hybrid mode. Because setting to GPU will take the Preferences settings only locally. And this is not really useful eg. when you do distributed rendering on machines with GPU turned on but some use CPU and some not.

Summary: A button below the CPU/GPU menu will override the local System settings and set it to GPU only. Turned off will enable the local System settings as usual.

This is wrong. The renderfarm itself should configure the rendering units based on each virtual machine´s capabilities. This does not belong to the blend file since the same blend file could end up being rendered in different hardware.

I see. Yes, makes sense. My bad. Thanks for the time.

> In #82351#1057293, @zanqdo wrote: >> In #82351#1057276, @Renderbicks wrote: >>> In #82351#1057257, @zanqdo wrote: >>>> In #82351#1057255, @Renderbicks wrote: >>>>> In #82351#1057234, @zanqdo wrote: >>>>> @dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now. >>>> >>>> This might be a useful option because when rendering on a farm with Afanasy (in our case) we have to load Blender and disable the CPU to save the settings. It would anyway a good idea to add a simple button in the Render Settings to disable/enable CPU for hybrid rendering saved in the scene. >>> >>> No more options needed. Just a temporary check that disables something that is BROKEN. Until it gets fixed. >> >> From a production pov it should be an option to decide to render on a farm with or without CPU. I would recommend to add a feature in the Render Setting and not Preferences only to disable the hybrid mode. Because setting to GPU will take the Preferences settings only locally. And this is not really useful eg. when you do distributed rendering on machines with GPU turned on but some use CPU and some not. >> >> Summary: A button below the CPU/GPU menu will override the local System settings and set it to GPU only. Turned off will enable the local System settings as usual. > > This is wrong. The renderfarm itself should configure the rendering units based on each virtual machine´s capabilities. This does not belong to the blend file since the same blend file could end up being rendered in different hardware. I see. Yes, makes sense. My bad. Thanks for the time.

Added subscriber: @MichaelHermann

Added subscriber: @MichaelHermann

Added subscriber: @lateasusual

Added subscriber: @lateasusual

Added subscriber: @nacioss

Added subscriber: @nacioss
Member

Added subscriber: @machieb

Added subscriber: @machieb
Member

Added subscriber: @eklein

Added subscriber: @eklein

Added subscriber: @JasonClarke

Added subscriber: @JasonClarke
Member

Added subscriber: @kursadk

Added subscriber: @kursadk
Member

In #82351#1057234, @zanqdo wrote:
@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

Please do not disable adaptive sampling, it would be much better if the tile stealing is disabled instead, given it improves render times barely in certain tile sizes assuming that the combo is the culprit.

Also this might create undesirable situations on render farms.

> In #82351#1057234, @zanqdo wrote: > @dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now. Please do not disable adaptive sampling, it would be much better if the tile stealing is disabled instead, given it improves render times barely in certain tile sizes assuming that the combo is the culprit. Also this might create undesirable situations on render farms.
Author
Member

You're right it's better to disable tile stealing. Although there's supposedly a proper fix in the way?

In #82351#1081847, @kursadk wrote:

In #82351#1057234, @zanqdo wrote:
@dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now.

Please do not disable adaptive sampling, it would be much better if the tile stealing is disabled instead, given it improves render times barely in certain tile sizes assuming that the combo is the culprit.

Also this might create undesirable situations on render farms.

You're right it's better to disable tile stealing. Although there's supposedly a proper fix in the way? > In #82351#1081847, @kursadk wrote: >> In #82351#1057234, @zanqdo wrote: >> @dfelinto Seeing the amount of reports this has generated, maybe we should disable the feature automatically in case of collision. For example, if hybrid is enabled, disable adaptive for now. > > Please do not disable adaptive sampling, it would be much better if the tile stealing is disabled instead, given it improves render times barely in certain tile sizes assuming that the combo is the culprit. > > Also this might create undesirable situations on render farms.
Member

In #82351#1082027, @zanqdo wrote:
You're right it's better to disable tile stealing. Although there's supposedly a proper fix in the way?

According to user Alaska who replied to my missing tile report, this is the fix https://developer.blender.org/D9445

> In #82351#1082027, @zanqdo wrote: > You're right it's better to disable tile stealing. Although there's supposedly a proper fix in the way? > According to user Alaska who replied to my missing tile report, this is the fix https://developer.blender.org/D9445

In #82351#1082102, @kursadk wrote:

In #82351#1082027, @zanqdo wrote:
You're right it's better to disable tile stealing. Although there's supposedly a proper fix in the way?

According to user Alaska who replied to my missing tile report, this is the fix https://developer.blender.org/D9445

I am wondering why the fix isn't implemented in 2.92 yet? It's an important fix because actually Adaptive Sampling with hybrid rendering is some kind of useless but a very important and powerful feature.

> In #82351#1082102, @kursadk wrote: >> In #82351#1082027, @zanqdo wrote: >> You're right it's better to disable tile stealing. Although there's supposedly a proper fix in the way? >> > > > > According to user Alaska who replied to my missing tile report, this is the fix https://developer.blender.org/D9445 I am wondering why the fix isn't implemented in 2.92 yet? It's an important fix because actually Adaptive Sampling with hybrid rendering is some kind of useless but a very important and powerful feature.

Removed subscriber: @lateasusual

Removed subscriber: @lateasusual

Added subscriber: @BuyMyMojo

Added subscriber: @BuyMyMojo

Added subscriber: @homeworker

Added subscriber: @homeworker

This issue was referenced by blender/cycles@63b16ca64a

This issue was referenced by blender/cycles@63b16ca64afdfd66d8b85b64a85a25ca9eba86d9

This issue was referenced by 688e5c6d38

This issue was referenced by 688e5c6d3895a8f6b5aec06977c9dcb4b00e0a76
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'

Added subscriber: @platerytter

Added subscriber: @platerytter

Forgive my noobness but if they were commited two days ago should the experimental builds not have picked up the patch already ?

These glitches are still visible in today's experimental build. On linux using 2x NVIDIA cards and a threadripper.

Forgive my noobness but if they were commited two days ago should the experimental builds not have picked up the patch already ? These glitches are still visible in today's experimental build. On linux using 2x NVIDIA cards and a threadripper.

I tested yesterday with the experimental build and also today. In my case the problem with the tile stealing is solved when using adaptive sampling with optix GPU +CPU rendering.
I´m on windows and have a Geforce RTX 3090.

I tested yesterday with the experimental build and also today. In my case the problem with the tile stealing is solved when using adaptive sampling with optix GPU +CPU rendering. I´m on windows and have a Geforce RTX 3090.

Also works for me on Windows, TR1950x and 2080.

Also works for me on Windows, TR1950x and 2080.

In my case it breaks using OPTIX but actually works on CUDA.

In my case it breaks using OPTIX but actually works on CUDA.
Author
Member

@LukasStockner worth reopening this report?

@LukasStockner worth reopening this report?
Member

Added subscriber: @pmoursnv

Added subscriber: @pmoursnv
Member

Not sure - if the remaining issue can be confirmed to be Optix-specific, @pmoursnv might know more.

Not sure - if the remaining issue can be confirmed to be Optix-specific, @pmoursnv might know more.

I double checked on Windows 10 (Latest) and Linux (Ubuntu 20.04) with Nvidia 460.x on both Optix and CUDA now. I also tried with multiple files. Seems to work. Someone else can confirm an Optix Issue here?

I double checked on Windows 10 (Latest) and Linux (Ubuntu 20.04) with Nvidia 460.x on both Optix and CUDA now. I also tried with multiple files. Seems to work. Someone else can confirm an Optix Issue here?

Work for me with an Asus laptop GeForce GTX 950M + Intel Core i7 integrated GPU. Both CUDA and OptiX Win 10 - driver 461.09 01/07/2021

Work for me with an Asus laptop GeForce GTX 950M + Intel Core i7 integrated GPU. Both CUDA and OptiX Win 10 - driver 461.09 01/07/2021

This comment was removed by @Renderbicks

*This comment was removed by @Renderbicks*

In #82351#1093869, @LukasStockner wrote:
Not sure - if the remaining issue can be confirmed to be Optix-specific, @pmoursnv might know more.

My latest test showed up that the bug seems to be related to the type of GPU (and maybe the type of CPU?).

Laptop with RTX 2070 Super and i7-10875H

  • 2.83 LTS
  • 2.91
  • 2.92 Alpha without the fix
  • CUDA and OptiX mode

Result: No broken tiles anymore in all versions. Not driver related. I made all tests with the latest Studio and Game driver.

My second test was running on a Win 10 system with GTX 1080Ti and Ryzen Threadripper 1950X. All versions will render broken tiles. The latest 2.92 Beta has fixed the issue.

> In #82351#1093869, @LukasStockner wrote: > Not sure - if the remaining issue can be confirmed to be Optix-specific, @pmoursnv might know more. My latest test showed up that the bug seems to be related to the type of GPU (and maybe the type of CPU?). Laptop with RTX 2070 Super and i7-10875H - 2.83 LTS - 2.91 - 2.92 Alpha without the fix - CUDA and OptiX mode Result: No broken tiles anymore in all versions. Not driver related. I made all tests with the latest Studio and Game driver. My second test was running on a Win 10 system with GTX 1080Ti and Ryzen Threadripper 1950X. All versions will render broken tiles. The latest 2.92 Beta has fixed the issue.

Added subscriber: @ChristophWerner

Added subscriber: @ChristophWerner

Excuse my question, but which version is needed to test the tile stealing feature?
I've a nvidia RTX 3090 here and an AMD 3970X CPU with 32 cores. In my tests the "Candidate" version of Blender 2.92 has nearly no difference in rendering speed, or just marginal better.

Is the tile stealing feature implemented in the current 2.92 Candidate version or do I expect too much of this option?

Excuse my question, but which version is needed to test the tile stealing feature? I've a nvidia RTX 3090 here and an AMD 3970X CPU with 32 cores. In my tests the "Candidate" version of Blender 2.92 has nearly no difference in rendering speed, or just marginal better. Is the tile stealing feature implemented in the current 2.92 Candidate version or do I expect too much of this option?

In #82351#1117081, @ChristophWerner wrote:
Excuse my question, but which version is needed to test the tile stealing feature?
I've a nvidia RTX 3090 here and an AMD 3970X CPU with 32 cores. In my tests the "Candidate" version of Blender 2.92 has nearly no difference in rendering speed, or just marginal better.

Is the tile stealing feature implemented in the current 2.92 Candidate version or do I expect too much of this option?

From what I watch here 2.92 RC is using tile stealing. When the GPU has finished it will definitely take over the CPU tiles. From my logic it should be like this: If you have a slow CPU but a very fast GPU there is maybe not much of a difference between GPU only and hybrid mode. Because the GPU might solve the whole render while the CPU is still working on the first tiles. But if you have a very fast CPU there should be a difference. How fast is the AMD 3970X compared to the RTX 3090? I have a 16 core Threadripper and GTX 1080Ti which are equal in speed. I will do a test.

> In #82351#1117081, @ChristophWerner wrote: > Excuse my question, but which version is needed to test the tile stealing feature? > I've a nvidia RTX 3090 here and an AMD 3970X CPU with 32 cores. In my tests the "Candidate" version of Blender 2.92 has nearly no difference in rendering speed, or just marginal better. > > Is the tile stealing feature implemented in the current 2.92 Candidate version or do I expect too much of this option? From what I watch here 2.92 RC is using tile stealing. When the GPU has finished it will definitely take over the CPU tiles. From my logic it should be like this: If you have a slow CPU but a very fast GPU there is maybe not much of a difference between GPU only and hybrid mode. Because the GPU might solve the whole render while the CPU is still working on the first tiles. But if you have a very fast CPU there should be a difference. How fast is the AMD 3970X compared to the RTX 3090? I have a 16 core Threadripper and GTX 1080Ti which are equal in speed. I will do a test.

In #82351#1117092, @Renderbicks wrote:

In #82351#1117081, @ChristophWerner wrote:
Excuse my question, but which version is needed to test the tile stealing feature?
I've a nvidia RTX 3090 here and an AMD 3970X CPU with 32 cores. In my tests the "Candidate" version of Blender 2.92 has nearly no difference in rendering speed, or just marginal better.

Is the tile stealing feature implemented in the current 2.92 Candidate version or do I expect too much of this option?

From what I watch here 2.92 RC is using tile stealing. When the GPU has finished it will definitely take over the CPU tiles. From my logic it should be like this: If you have a slow CPU but a very fast GPU there is maybe not much of a difference between GPU only and hybrid mode. Because the GPU might solve the whole render while the CPU is still working on the first tiles. But if you have a very fast CPU there should be a difference. How fast is the AMD 3970X compared to the RTX 3090? I have a 16 core Threadripper and GTX 1080Ti which are equal in speed. I will do a test.

My AMD Ryzen Threadripper 3790X is slower then the RTX 3090. I guess there is no "consumer" CPU, that renders tiles faster than a nvidia RTX 3090 currently...
I have an old workstation with a 1080Ti and will make some tests there, soon. Currently my old machine is not ready to go.

> In #82351#1117092, @Renderbicks wrote: >> In #82351#1117081, @ChristophWerner wrote: >> Excuse my question, but which version is needed to test the tile stealing feature? >> I've a nvidia RTX 3090 here and an AMD 3970X CPU with 32 cores. In my tests the "Candidate" version of Blender 2.92 has nearly no difference in rendering speed, or just marginal better. >> >> Is the tile stealing feature implemented in the current 2.92 Candidate version or do I expect too much of this option? > > From what I watch here 2.92 RC is using tile stealing. When the GPU has finished it will definitely take over the CPU tiles. From my logic it should be like this: If you have a slow CPU but a very fast GPU there is maybe not much of a difference between GPU only and hybrid mode. Because the GPU might solve the whole render while the CPU is still working on the first tiles. But if you have a very fast CPU there should be a difference. How fast is the AMD 3970X compared to the RTX 3090? I have a 16 core Threadripper and GTX 1080Ti which are equal in speed. I will do a test. My AMD Ryzen Threadripper 3790X is slower then the RTX 3090. I guess there is no "consumer" CPU, that renders tiles faster than a nvidia RTX 3090 currently... I have an old workstation with a 1080Ti and will make some tests there, soon. Currently my old machine is not ready to go.

In #82351#1117105, @ChristophWerner wrote:

In #82351#1117092, @Renderbicks wrote:

In #82351#1117081, @ChristophWerner wrote:
Excuse my question, but which version is needed to test the tile stealing feature?
I've a nvidia RTX 3090 here and an AMD 3970X CPU with 32 cores. In my tests the "Candidate" version of Blender 2.92 has nearly no difference in rendering speed, or just marginal better.

Is the tile stealing feature implemented in the current 2.92 Candidate version or do I expect too much of this option?

From what I watch here 2.92 RC is using tile stealing. When the GPU has finished it will definitely take over the CPU tiles. From my logic it should be like this: If you have a slow CPU but a very fast GPU there is maybe not much of a difference between GPU only and hybrid mode. Because the GPU might solve the whole render while the CPU is still working on the first tiles. But if you have a very fast CPU there should be a difference. How fast is the AMD 3970X compared to the RTX 3090? I have a 16 core Threadripper and GTX 1080Ti which are equal in speed. I will do a test.

My AMD Ryzen Threadripper 3790X is slower then the RTX 3090. I guess there is no "consumer" CPU, that renders tiles faster than a nvidia RTX 3090 currently...
I have an old workstation with a 1080Ti and will make some tests there, soon. Currently my old machine is not ready to go.

I use a laptop here with an 8 core i7-10875H and RTX 2070 Super. My test scene renders like this: The GPU will finish their part while the 16 CPU tiles are still rendering. The speed advantage is finally the difference between the 16 CPU tiles and 16 GPU tiles. Not really much. I will update this in a few minutes with results.

> In #82351#1117105, @ChristophWerner wrote: >> In #82351#1117092, @Renderbicks wrote: >>> In #82351#1117081, @ChristophWerner wrote: >>> Excuse my question, but which version is needed to test the tile stealing feature? >>> I've a nvidia RTX 3090 here and an AMD 3970X CPU with 32 cores. In my tests the "Candidate" version of Blender 2.92 has nearly no difference in rendering speed, or just marginal better. >>> >>> Is the tile stealing feature implemented in the current 2.92 Candidate version or do I expect too much of this option? >> >> From what I watch here 2.92 RC is using tile stealing. When the GPU has finished it will definitely take over the CPU tiles. From my logic it should be like this: If you have a slow CPU but a very fast GPU there is maybe not much of a difference between GPU only and hybrid mode. Because the GPU might solve the whole render while the CPU is still working on the first tiles. But if you have a very fast CPU there should be a difference. How fast is the AMD 3970X compared to the RTX 3090? I have a 16 core Threadripper and GTX 1080Ti which are equal in speed. I will do a test. > > My AMD Ryzen Threadripper 3790X is slower then the RTX 3090. I guess there is no "consumer" CPU, that renders tiles faster than a nvidia RTX 3090 currently... > I have an old workstation with a 1080Ti and will make some tests there, soon. Currently my old machine is not ready to go. I use a laptop here with an 8 core i7-10875H and RTX 2070 Super. My test scene renders like this: The GPU will finish their part while the 16 CPU tiles are still rendering. The speed advantage is finally the difference between the 16 CPU tiles and 16 GPU tiles. Not really much. I will update this in a few minutes with results.

Render times

GPU only: 6m 59s
Hybrid: 6m 33s

27s difference by adding the 8 core CPU. The 16 CPU tiles were finished by the GPU at the end.

Now I will do a test on my Threadripper with GTX 1080Ti.

Render times GPU only: 6m 59s Hybrid: 6m 33s 27s difference by adding the 8 core CPU. The 16 CPU tiles were finished by the GPU at the end. Now I will do a test on my Threadripper with GTX 1080Ti.

@ChristophWerner I made an extreme test with tiles of 512x512. This gives me the suspicion that the GPU takes over the tiles but renders them from scratch because the render time in this case with different Adaptive Sampling settings for a faster result was nearly the same.

GPU only: 1m 45s
Hybrid: 1m 49s

This means: As long as the CPU will not finish the initial tiles it will not have an effect on the overall render time.

Maybe a dev can give us a precise answer about how tile stealing works.

@ChristophWerner I made an extreme test with tiles of 512x512. This gives me the suspicion that the GPU takes over the tiles but renders them from scratch because the render time in this case with different Adaptive Sampling settings for a faster result was nearly the same. GPU only: 1m 45s Hybrid: 1m 49s This means: As long as the CPU will not finish the initial tiles it will not have an effect on the overall render time. Maybe a dev can give us a precise answer about how tile stealing works.

@ChristophWerner The test with the AMD 1950X 16 core and GTX 1080Ti shows the following result:

GPU only: 12m 57s
Hybrid: 10m 45s

Here the 32 tiles are nearly as fast as the GPU. The speed advantage comes from the fact that the Threadripper finishes a couple of tiles before the GPU starts to take the remaining ones over.

But this will not answer why the first test is 27s faster?

@ChristophWerner The test with the AMD 1950X 16 core and GTX 1080Ti shows the following result: GPU only: 12m 57s Hybrid: 10m 45s Here the 32 tiles are nearly as fast as the GPU. The speed advantage comes from the fact that the Threadripper finishes a couple of tiles before the GPU starts to take the remaining ones over. But this will not answer why the first test is 27s faster?
Member

Removed subscriber: @nacioss

Removed subscriber: @nacioss
Thomas Dinges added this to the 2.92 milestone 2023-02-08 16:15:43 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
23 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#82351
No description provided.