Using Blender's Network Render addon, I am trying to render on a client's GPU using this script:
import bpy
FlagCUDA = False
#Select CUDA
try:
bpy.context.user_preferences.system.compute_device_type = 'CUDA'
FlagCUDA = True
except:
print("No CUDA-Device")
FlagCUDA = False
if FlagCUDA:
try:
bpy.context.user_preferences.system.compute_device = 'CUDA_MULTI_2'
except:
bpy.context.user_preferences.system.compute_device = 'CUDA_0'
#Check which GPUs are there
print("Rendering on: " + bpy.context.user_preferences.system.compute_device)
However, when I try to render it, the script doesn't seem to be run until after the slave has already rendered the file! For example, here's the slave's console output:
Created directory: /tmp/slave_1942577ae3d0b404da672d202b2a9a58
Created directory: /tmp/slave_1942577ae3d0b404da672d202b2a9a58/job_7
Fullpath /home/tylere/untitled.blend
File: untitled.blend and 0 other files
frame 1
Color management: using fallback mode for management
Read new prefs: /home/tylere/.config/blender/2.69/config/userpref.blend
read blend: /home/tylere/untitled.blend
Fra:1 Mem:7.10M (9.89M, Peak 16.99M) | Mem:0.00M, Peak:0.00M | Scene, RenderLayer | Synchronizing object | Cube
...
RenderLayer | Updating Images
Fra:1 Mem:7.11M (9.89M, Peak 17.00M) | Mem:0.00M, Peak:0.00M | Scene, RenderLayer | Updating Camera
Fra:1 Mem:7.11M (9.89M, Peak 17.00M) | Mem:0.00M, Peak:0.00M | Scene, RenderLayer | Updating Objects
Fra:1 Mem:7.11M (9.89M, Peak 17.00M) | Mem:0.00M, Peak:0.00M | Scene, RenderLayer | Updating Objects | Copying Transformations to device
Fra:1 Mem:7.11M (9.89M, Peak 17.00M) | Mem:0.00M, Peak:0.00M | Scene,
...
RenderLayer | Path Tracing Tile 134/135
Fra:1 Mem:7.11M (9.89M, Peak 17.07M) | Mem:0.51M, Peak:0.59M | Scene, RenderLayer | Path Tracing Tile 135/135
Fra:1 Mem:7.11M (9.89M, Peak 17.07M) | Mem:0.02M, Peak:0.59M | Scene, RenderLayer | Finished
Fra:1 Mem:7.08M (9.89M, Peak 17.07M) Sce: Scene Ve:0 Fa:0 La:0
Saved: /tmp/slave_1942577ae3d0b404da672d202b2a9a58/job_7/000001.exr Time: 00:01.44 (Saving: 00:00.09)
No CUDA-Device
Rendering on: CPU
Blender quit
status 0
(The client I am currently testing scripts on has no GPU, hence the "No CUDA-Device")
How do I get the script to run BEFORE the rendering occurs on the slave?