C++ classes for cpuid and hardware topology
authorErik Lindahl <erik@kth.se>
Thu, 8 Oct 2015 16:28:49 +0000 (18:28 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Mon, 30 Nov 2015 06:13:57 +0000 (07:13 +0100)
commit2cc8a0f71ea1410e14c9b0810d0526b381b30d86
treeae44fa3ba1be3872808bd3b7d45c109c76f5c280
parente5d0582b39927eaf248323dcbe9ac044cb5ff41d
C++ classes for cpuid and hardware topology

Refactored old cpuid into classes for cpuid and hardware
topology detection, and moved SIMD architecture selection
routines to the SIMD module. This will make it possible
to introduce hwloc transparently to get more advanced
topology information from the hardware topology class.
Since forcerec.h is still included by a few C files, the
previous cpuid datatype has been turned into pointers
to forward-declared non-existing structs, which causes
snew/sfree to choke on them. Internally they are instead
properly new:d/delete:d in the C++ code.

Change-Id: I378ec5dc6c32883c5d89f1cfeecea93a3b8b0e6b
27 files changed:
CMakeLists.txt
cmake/TestInlineASM_gcc_x86.cpp [moved from cmake/TestInlineASM_gcc_x86.c with 100% similarity]
cmake/gmxDetectSimd.cmake
cmake/gmxSetBuildInformation.cmake
cmake/gmxTestInlineASM.cmake
src/gromacs/CMakeLists.txt
src/gromacs/gmxlib/gmx_cpuid.c [deleted file]
src/gromacs/gmxlib/gmx_detect_hardware.cpp
src/gromacs/gmxlib/gpu_utils/gpu_utils.h
src/gromacs/gmxlib/nonbonded/nb_kernel.h
src/gromacs/gmxlib/thread_affinity.cpp
src/gromacs/hardware/CMakeLists.txt [new file with mode: 0644]
src/gromacs/hardware/cpuinfo.cpp [new file with mode: 0644]
src/gromacs/hardware/cpuinfo.h [new file with mode: 0644]
src/gromacs/hardware/hardwaretopology.cpp [new file with mode: 0644]
src/gromacs/hardware/hardwaretopology.h [new file with mode: 0644]
src/gromacs/hardware/tests/CMakeLists.txt [new file with mode: 0644]
src/gromacs/hardware/tests/cpuinfo.cpp [new file with mode: 0644]
src/gromacs/hardware/tests/hardwaretopology.cpp [new file with mode: 0644]
src/gromacs/legacyheaders/gmx_cpuid.h [deleted file]
src/gromacs/legacyheaders/types/hw_info.h
src/gromacs/listed-forces/manage-threading.h
src/gromacs/simd/CMakeLists.txt
src/gromacs/simd/support.cpp [new file with mode: 0644]
src/gromacs/simd/support.h [new file with mode: 0644]
src/gromacs/tables/forcetable.h
src/programs/mdrun/resource-division.cpp