nvcc had some problems with gcc 12.1 stl map templates when compiling gpu.cu.
And since ldgm-session-gpu.h which contained the c++ code was only needed for
this one macro, it's probably better to move it to gpu.cuh which is
already included by all files that need it.