CPU only runs on GPU machines should fail by default
Currently we have several conditions under which the code is falling back to CPU operation (some features are not yet implemented for GPUs). At the moment, the code is issuing a warning only, and then continues without using the GPU. That might lead to tests passing on the GPUs without ever testing the GPU code.
We should stop the code with a fatal error, if it is running on the GPU but not using the GPU for any reason. We might introduce a variable to explicitely allow such runs, but in any case, the user should have to do that explicitely to see that the code is actually running without using the GPUs