1
$\begingroup$

I am trying to adapt the cycles render code to allow me to use the full threading power of my GPU (Radeon RX750 8Gb, 2048 OpenGL threads). There seems to be a limit from some time ago of 1024 threads, which, with modern GPUs, seems like a very outdated specification (my GPU is by no means a top end market model). I have searched through the cycles kernels, and all render and threading Python files that would be causing this limitation, have changed the user input to 2048 fixed threads in threads.py, yet this seems to have had no effect on the Blender 2.79 environment. I feel that with having so much threading power at my disposal I could cut my long rendering times down to half, as literally half my GPU is sitting idle at this point. As such, any help in directing me to the which files or settings can control this or a person from the Blender community who may know how to do this, would be greatly appreciated. Thank you in advance for helpful replies.

$\endgroup$
  • $\begingroup$ RX750? Where did you buy your time machine? Did you try to use Blender 2.79b or 2.80? RX570 is a relative new device that might need some support from newer Blender. And also, the shader unit number is not directly link to threads number. Try to use different tile size when rendering with Cycles $\endgroup$ – Hikariztw Jun 3 '19 at 14:17
  • $\begingroup$ @Hikariztw We of the future thank you for the prompt reply, lol, so yes, RX570 has 2048 stream processors/shaders/CUDA cores. After reading your reply, I am left wondering if I do not fully understand what is meant by cycles "threads". The shaders are unified processing units that combine multiply functions, geometry, pixel, vertex, physics, ect. but your answer would indicate that this is not relevant to the actual threads/rendering speed, since the rx570 has 32 cores, would my actual threads be relative to the core number? I have changed numerous settings to increase speed, with success. $\endgroup$ – user75008 Jun 3 '19 at 14:56
  • $\begingroup$ @Hikariztw However, I was dismayed by the lack of being able to enable a larger volume of threads, which seems to not be a valid concern, is this correct? $\endgroup$ – user75008 Jun 3 '19 at 14:56
  • $\begingroup$ Where did you find the discussion over cycle can't use all the compute units in GPU? Can you share the link for it? Because since you use the word thread, which is not usually described as a hardware compute node but a task. And IMO thread in Blender is mainly saying the python execute thread, which is usually small in general usage. $\endgroup$ – Hikariztw Jun 3 '19 at 15:21
  • $\begingroup$ And if you're talking about the thread number in performance panel. That thing is mainly for CPU task, not GPU. CPU use OpenGL to handle how the shader unit process your data in best parallel way $\endgroup$ – Hikariztw Jun 3 '19 at 15:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.