Added the bundled clFFT into OpenCL builds
commita41344a06a7e6706b209571da2777574011e3980
authorAleksei Iupinov <a.yupinov@gmail.com>
Mon, 7 May 2018 15:33:25 +0000 (7 17:33 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Thu, 31 May 2018 11:13:57 +0000 (31 13:13 +0200)
treeb9e685140c65412a8810811a3a6ad0045ffc426c
parent598b5cf74d605a08247d1c7f797a9bd1a07f0c37
Added the bundled clFFT into OpenCL builds

Used an object library, since we have no need of a real library, to
have or to install, whether shared or static. Checked for the
availability of dynamic loading, and made it available portably to
libgromacs.

Clfft initialization class is added and used in mdrunner to
initialize/tear down clFFT library resources in a thread-safe
manner, and only on ranks that require such setup. Noted TODOs
for future work.

Noted a useful style for explicit listing of source files.

Refs #2500
Refs #2515
Refs #2535

Change-Id: I62d7d66f65e147bde17929ccc30abad36e2373c6
src/external/clFFT/src/CMakeLists.txt
src/gromacs/CMakeLists.txt
src/gromacs/gpu_utils/CMakeLists.txt
src/gromacs/gpu_utils/clfftinitializer.cpp [new file with mode: 0644]
src/gromacs/gpu_utils/clfftinitializer.h [new file with mode: 0644]
src/gromacs/mdrun/runner.cpp