Blender allows the user to select "GPU Compute" as the rendering device even if the computer has no valid GPU device. It simply Greys out the drop down menu:
To a Python script, it then looks like a GPU compute device is in use:
I need a way to check from my Python script if an actual valid GPU device will be used for rendering or not.
Cycles will silently default to the CPU if the user selects GPU but doesn't have one, but I don't know how to detect this from a script.