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
Fix compilation with PGI

- The GMX_TEST_CFLAG with /ARCH doesn't fail because it isn't
  recognized as flag. Thus it is added and then causes trouble later
  because it is treated as filename.
- Extra { } for omp ordered
- Add warning to not use PGI because it fails the regressiontests
  (12.9 and 12.10) or crashes during the compilation with internal
  compiler errors (12.5, 11.9) (I didn't test more than those
  4 versions).
- I think it is worthwile to fix the first two issues even if PGI
  is not recommended. They could also affect other compilers and
  furture PGI version hopefully don't produce incorrect results.

Change-Id: I6ea24498a6c6712a8ad4b604a0b3c685de1ce0be
Merge "force C++ linking of the gpu_utils" into release-4-6
reduced PLINCS communication with H-bond constraints

When only constraining bonds involving hydrogens, there are
at most two sequential constraints connected. In that case
we now only communicate once in PLINCS.

Change-Id: I841c22b19574b1bb787b5be46637b69c77f1f757
Merge "Fix compilation with PGI" into release-4-6
Always build template program

* make sure template is not broken
* gromacs dir contains copy of headers
* fixed warnings in template.c
* don't use config.h as it not installed
* use PKG_CFLAGS to emulate user environment

Change-Id: Ib8a3a5a9717727721d26ae4afbb69633e319d978
Fix typo

Change-Id: Id0fcbaa04647f3e3f4867686e207637efac8cdae
Fixes redmine issue #1071

Fixes issue where pull code can crash grompp if foreign lambda
is not defined in the mdp.  Some simplification of code path for
initialization of lambda as a side product.

Change-Id: I6c6a0c1591cc332efddb769f3552c0379e7dc708
Remove the rest of the fortran/power6 acceleration

* kernels got removed in 38069fb14a4c2ba3b61880c96dc017d16294db2c
* remove it from cmake as an option

Change-Id: I84a6e584673a80a7b1fa2f7b8f0b2c54658abc2f
Fix license text printed by programs.

Since source files are now licensed under LGPL, it doesn't make much
sense for the programs to indicate they are still under GPL.
Follow-up to I1c507b3, which seems to have missed this.

Part of #818.

Change-Id: I44ffcf75f4840326d09f924249619077ea5a1013
Merge "reduced PLINCS communication with H-bond constraints" into release-4-6
implemented nbnxn AVX-256 2x(N+N) kernels

With AVX-256 nbnxn kernels are faster with 2x(4+4)=4x4 than 4x8.
To reduce the number of nbnxn kernels, there are no longer both
simd128 and simd256 kernels, but simd_4xn and for AVX-256 additionally
simd_2xnn kernels. The nbnxn search code is simplified significantly,
as it no longer has 128-bit and 256-bit simd simultaneously.
The SIMD pair-search and kernel configuration is now separated from
the SSE SIMD bounding box code configuration.

Additionally the label x86_simd in all nbnxn files is replaced by simd
only, in prepartion for non-x86 SIMD acceleration.

Change-Id: If03cf569cf918dcec675fbcb43e1ff3a30528f74
renamed gmx_x86_simd_macros.h to gmx_simd_macros.h

This is in preparation for non-x86 SIMD acceleration.

Change-Id: Idc652236f4b2e0f48e759d579c798c1b0dc6944f
issue error if GPU ID is provided with GPU acc. off

Manually setting the GPU IDs is an implicit "GPU on" request from the
user, so we need to fail if mdrun in compiled without GPU support.
Additionally, added hint to what content is expected in the GPU ID
string to the respective errors and changed an incorrect collective
fatal.

Change-Id: Iebce58c0626889d047eebebd8e4547d4f1e9ff26
Merge "Fixes redmine issue #1071" into release-4-6
Avoid using undefined CMake variables

C_COMPILER_VERSION is not defined before CMake 2.8.8, so the logic
and reporting was wrong. However, we already have a work-around.

Change-Id: If34deadf3a912d48e204d80cc5be7718c151e39d
Removed orphan file

The use of this check was removed long ago, the bug report that
it cites is invalid, and its detection functionality is duplicated
in gmxGetCompilerInfo.

Change-Id: I8478e155376930c27d259214e13d9b1e6e7a9cca
Merge "issue error if GPU ID is provided with GPU acc. off" into release-4-6
Merge changes Idc652236,If03cf569 into release-4-6

* changes:
  renamed gmx_x86_simd_macros.h to gmx_simd_macros.h
  implemented nbnxn AVX-256 2x(N+N) kernels
Merge "Fix license text printed by programs." into release-4-6