automation for setting GMX_GPU & cmake GPU detection
Implemented detection of NVIDIA GPUs in CMake using:
- output of nvidia-smi (if available Linux/Mac/Win);
- presence and content of of /proc/driver/nvidia/gpus/*/information
(Linux)
- output of lspci (Linux)
Although the current implementation is not able to decide whether a GPU
is compatible with GROMACS, the build system is now able to hint the
user that there are potentially useful GPU compute resources.
Additionally, if GMX_GPU is not set explicitly by the user, its value
is considered to be and implicit "auto" with OFF as default. In this
case CUDA detection will be attempted and if successful, GMX_GPU is
set to "ON", otherwise kept "OFF".
If CUDA is not found and the user requested GPU acceleration, an
immediate fatal error is issued. If the user did not set GMX_GPU, a
non-fatal warning is issued at the end of the configuration with
additional information if GPUs were detected.
Fixes #1018
Change-Id: Iffa9ed343bed4278cffba5e2eb9f8b81f590b31d