force C++ linking of the gpu_utils

Commit c0180203d4247d5e6 forced C++ linkage of all main functions.
But Carlo Camilloni reported that this can still give linker
errors. This should enforce C++ linkage also of libgmx.

Change-Id: I9a82637b792d727ea95e1dc6990099b621fc8ef2
don't warn during configuring if no GPUs were found

This change avoids issuing the post-configure GPU acceleration warning
if no GPUs were found in the build machine.

Change-Id: I63962c43ec9a8b9ee4f5ec2d1a19d4d819419ff7
Eliminate confusion from pkgconfig FFTW detection

If pkgconfig fails to find FFTW, it emits a CMake status messge,
but we do our own detection immediately afterwards. Seeing
a failure followed by a success can be confusing to users, so we
let them know we're not worried by pkg-config failing.

Change-Id: If270dd5d6fe10bc3a58a6fa56c9028cf61859d74
removed last OpenMP O(nthreads) bottleneck

The nbnxn non-bonded force buffer clear would zero the full force
buffer for every OpenMP thread, which lead to O(nthreads) operations.
Now each threads only clears block of the buffer is actually uses.
The buffer flagging procedure has been simplified and the reduction
has been made more efficient. With domain decomposition there is not
much improvement yet, here we should change the assignment of pairs
to threads.

Change-Id: Ib657f8eaa394afdd82086dcc59cbb8c5926f77f0
Re-enable AdResS feature

* updated generic AdResS kernel
* added nb_kernel_adress_template_c.pre
* added gmx_mblist_interaction_type
* seperate neighbour lists for the adress hybrid kernel(s)
* put_in_list_adress decides for each ij pair whether to use
  * standard kernels (if interactions are explict or coarse-grained)
  * add them to the adress list to use the AdResS kernel
* removed obsolete TODOs
* removed obsolete pureex/purecg booleans from mdatoms
NOTE
* make_nb_kernel_adress_c.py currently unused, actually the generic AdResS Kernel seems to perform quite well already (faster than the old implementation)

Change-Id: I7bc41aa5b122f3b0c1aef8ae3210d0bbba7efb02
Fix build of template and other external code.

Installed headers need to use relative include paths.
Broken by Ied26158 (which was part of #701).

Change-Id: I2d9e6ee3878ae1bfa70286996e490abad00f19a0
Removing (inaccurate) virial temperature calc.

Removing the virial temperature, which is not a reliable measure.
Earlier, I had put in a calculation of temperature via the virial
to try to validate the potential energy distribution. It turns out
this is not a good way of doing things, as the virial temperature
differs from the true temperature by a factor proportional to the
pressure, which is not very useful for sentitive calculations.  It's
better to use the ensemble validation relationships I developed.
So in the spirit of simplifying the code (which we all agree needs
to be done), I'm removing this calculation.

Change-Id: Ic942b9af294d928d1675de4f45436dc43aff9649
Updates for install guide

Change-Id: I9448ba0ea372f330f16172de73e3285c1a682032
Apply LGPL license to new files

Note the AdResS python generator is not currently used
(or functional) but in case it is used later, it's
there and licensed and so will its output be licensed.

TODO:
Still same as last LGPL license commit

Change-Id: I8b62d5160380c4da6f25eeacd6809fec6aac55f2
New beta release: 4.6-beta2

Change-Id: I3c9ac75258154b5779516ddd0de0d23b1e972803
Make SSE4.1 warning clearer

"Disable SSE4.1" can be misunderstood for a suggestion to set
the acceleration to "None".

Change-Id: If83339c2fedd8dcf47aa4a841128cf08cc369a90
fixed GPU pair-search with GMX_CPU_ACCELERATION=None

Fixes #1042 and fixes #1062

Change-Id: I95ed242823aa1c108fc6c26bedc88062a0cd81d7
Merge "Fix build of template and other external code." into release-4-6
Merge "fixed GPU pair-search with GMX_CPU_ACCELERATION=None" into release-4-6
Merge "force C++ linking of the gpu_utils" into release-4-6
Merge branch 'release-4-6' into release-4-6-imd