reorganized GPU detection and selection
authorBerk Hess <hess@kth.se>
Thu, 10 Oct 2013 15:39:25 +0000 (17:39 +0200)
committerBerk Hess <hess@kth.se>
Thu, 31 Oct 2013 22:56:10 +0000 (23:56 +0100)
commit95d10d3903aed9c700009f6effece9c6f1d60517
treea46456d6aa113abb30046c0a4b87b29a431dac48
parenteef362584c7e447d28ca25113393a18568b0d08a
reorganized GPU detection and selection

The GPU selection has been separated from the GPU detection
and now happens after the thread-MPI threads are started.
The GPU user/auto-selected options have been removed from
gmx_hw_info_t, such that it only contains hardware info
and can be passed around as const.
As both the CPU and GPU options structs are now tMPI rank local,
tMPI thread concurrency issues are avoided.
Fixes #1334 #1359

The GPU detection is now skipped with mdrun -nb cpu
CPU acceleration binary/hardware mismatch is now only printed once
to stderr (instead of #MPI-rank times to stdout).
Removed the master_inf_t struct.

Change-Id: If497f611b911808f6d01ca83f41ae288061dd361
15 files changed:
include/gmx_cpuid.h
include/gmx_detect_hardware.h
include/gpu_utils.h
include/mdrun.h
include/nbnxn_cuda_data_mgmt.h
include/types/forcerec.h
include/types/hw_info.h
src/gmxlib/gmx_cpuid.c
src/gmxlib/gmx_detect_hardware.c
src/gmxlib/gmx_thread_affinity.c
src/gmxlib/gpu_utils/gpu_utils.cu
src/kernel/mdrun.c
src/kernel/runner.c
src/mdlib/forcerec.c
src/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu