Configuring .blend file for remote machine GPU rendering I would like to render an animation on a remote compute cluster with several GPUs. The machine I configure the .blend file on is a laptop on which I cannot enable the User Settings>System GPU compute device setting 



It does seem as if I can select GPU render in the render properties:


on my laptop. But unfortunately this doesn't seem to have any effect on the remote cluster: Rendering doesn't use the GPU (I checked with nvidia-smi) but uses all available CPU threads. I figured the GPU compute option is greyed out since the laptop I set the scene up with doesn't have a supported GPU to run on. But the machine I render on does.

Unfortunately there is also no way for me to start a graphical session on the remote cluster (blender in GUI mode) so I could change the User settings or confirm the render settings before I render. 

I understand that I cannot set GPU rendering from the command line but is there maybe some other way I can setup a .blend file on a machine without GPU to render on the GPU when it is executed? For example: is there a way to start the render with a python script that forces the GPU option before starting the render process?

Thanks a lot for any hints on this!
As far as I understood, you manually put your .blend file on the server without using any third-party software. This answer so may help you:

How do I force the netrender to render everything on GPU?

This consists of running blender from the command line while also passing him a python script to set the GPU device (code from the link above):

blender -b file.blend -E CYCLES -t 0 -o //file -P script.py


This way you CAN set GPU rendering from the command line using, in the python script, bpy.context.scene.cycles.device = 'GPU'.