Prioritize GPU, but fallback to CPU if not available

Prioritize GPU, but fallback to CPU if not available

am_wilkins
Collaborator Collaborator
767 Views
7 Replies
Message 1 of 8

Prioritize GPU, but fallback to CPU if not available

am_wilkins
Collaborator
Collaborator

Hi,

 

I was wondering if there was a way or plans to implement a "pseudo-XPU" system for Arnold GPU.

My thoughts were that you can choose to prioritize rendering on a GPU if available, however if there isn't a GPU then Arnold will fall-back to the CPU.

This way a job can be submitted to a CPU and GPU based render farm and succeed rendering on either systems.

 

 

All the best,

amwilkins

 

0 Likes
Accepted solutions (3)
768 Views
7 Replies
Replies (7)
Message 2 of 8

Stephen.Blair
Community Manager
Community Manager
Accepted solution

On the Device tab
htoa_render_device_fallback.png



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 3 of 8

am_wilkins
Collaborator
Collaborator

Hi Stephen,


Oh wow... I had completely missed that for some reason, that's what I get for posting before double-checking.

Thanks very much, we'll try it out. 👍

 

amwilkins

0 Likes
Message 4 of 8

am_wilkins
Collaborator
Collaborator

Hi,

 

Finally managed to get around to testing this, however it doesn't appear to work.

Setting the Fallback Device to CPU, and submitted a render job to CPU only nodes gets me these errors:

Node #1 example:

ERROR   | [gpu] no compatible NVIDIA GPUs found (GPU-rendering)
WARNING | [kick] render aborted due to earlier errors

Node #2 example: (yes, drivers are out of date)

ERROR   | [gpu] NVIDIA driver 512.15 is too old, version 537.13 or higher required (GPU-rendering)
WARNING | [kick] render aborted due to earlier errors

 

In any event, Arnold doesn't flip over to CPU and starting rendering.

Any reason why this wouldn't be working?

 

I tried various device expressions using just "*" or trying to specify certains cards (btw documents aren't well updated for this except the C4D ones.)

device_fallback.png 

 

all the best,
amwilkins

--

Houdini Core Version 20.5.410
Arnold Core: 7.3.6.0

HotA: 6.3.6.0

CPU: AMD Ryzen TR 3990x / 3970x

RAM: 128GB
GPU: NVIDIA RTX 4090 / RTX A4000
OS: Windows/Linux

0 Likes
Message 5 of 8

DeclanRussell
Autodesk
Autodesk
Accepted solution

Hi am_wilkins,

 

It seems currently that Arnold is assuming that you have a GPU compatible system before doing the checks for the fallback. Its currently working more like this: If I have a GPU compatible system, but no GPU matches the search criteria of the gpu_default_names regex or gpu_default_min_memory_MB threshold, then apply the fallback rules. I've made ARNOLD-16277 to add the case where you may not have a GPU compatible system to follow the fallback rules.

0 Likes
Message 6 of 8

am_wilkins
Collaborator
Collaborator

Okay thanks, yes that would be ideal.

Usually in a farm setup with a mix of cpu and gpu, the cpu machines would generally either have old or on-board GPU, etc.

0 Likes
Message 7 of 8

thiago.ize
Autodesk
Autodesk
Accepted solution

Hi, this was fixed in the just released arnold core 7.4.3.0:

  • CPU fallback when no supported GPU found: Arnold falls back to CPU rendering according to the value of the render_device_fallback option when there are no supported GPUs. (ARNOLD-16277)

 

 

Message 8 of 8

am_wilkins
Collaborator
Collaborator

Good day,

Okay awesome, will get us updated to this latest release and try test this again.

 

Thank you.

0 Likes