Commit 4030c843 authored by Nicholas Breen's avatar Nicholas Breen

* New upstream release.

* Override autodetection of CPU extensions on amd64 and i386.
parent 4d6b6294
gromacs (4.6.5-1) UNRELEASED; urgency=low
* New upstream release.
* rules: Override autodetection of CPU extensions on amd64 and i386;
force to SSE2 only, and provide new DEB_BUILD_OPTIONS=cpuopt flag to
re-enable autodetection for local builds. (Closes: #725013)
-- Nicholas Breen <nbreen@debian.org> Fri, 15 Nov 2013 11:17:19 -0800
gromacs (4.6.3-4) unstable; urgency=low
* control: Add versioned Build-Depends on libmpich-dev (>= 3), to prevent
......
......@@ -13,7 +13,7 @@ other MPI implementations under its umbrella. Also consider installing the
'openmpi-doc' package for additional documentation. OpenMPI has superseded the
LAM-MPI project.
'gromacs-mpich' supports the MPICH2 implementation. Although less commonly
'gromacs-mpich' supports the MPICH3 implementation. Although less commonly
used in the GROMACS community than OpenMPI (and its predecessor LAM), it does
support more architectures and also has an active developer base.
......@@ -53,4 +53,25 @@ calculations can often solve such problems, with a tradeoff in speed
"_d" suffix, and in all other ways operate identically to their single-
precision counterparts.
-- Nicholas Breen <nbreen@ofb.net>, Mon, 16 Nov 2009 10:31:16 -0800
CPU Optimizations
-----------------
On amd64 and i386 architectures, the compiler is restricted to SSE2 extensions.
Some systems may have additional SIMD extensions available that can speed
execution by large amounts, but are not available on all CPUs of that
architecture (e.g. AVX extensions on amd64 that are only present on Intel's
Sandy Bridge or AMD Bulldozer and subsequent chips). To compile a package with
autodetection of available extensions, use the environment variable
DEB_BUILD_OPTIONS=cpuopt .
This choice of default should work on all amd64 CPUs, and i386 CPUs from the
Intel Pentium 4 or AMD Opteron/Athlon 64 and forward (roughly speaking, all new
systems since 2001). Although this does exclude certain very old i386 systems,
the performance tradeoffs from disabling SSE2 are severe; you may not get much
performance-per-watt on such CPUs. On such CPUs, compiling your own binaries
is mandatory.
For more information about GROMACS and CPU acceleration, please see
<http://www.gromacs.org/Documentation/Acceleration_and_parallelization>.
-- Nicholas Breen <nbreen@debian.org>, Fri, 15 Nov 2013 11:12:19 -0800
......@@ -38,6 +38,18 @@ ifneq ($(CFLAGS),)
COMMON_CONFIG_PARAMS += -DCMAKE_C_FLAGS="$(CFLAGS)"
endif
# Force compiler to use no more than SSE2 CPU optimizations, for broadest
# compatibility. For local compilations, pass DEB_BUILD_OPTIONS=cpuopt
# for automatic detection of the best available option. Planned for an
# overhaul in GROMACS 5.0 with proper runtime detection. kfreebsd-* doesn't
# yet support the higher extensions anyhow, no special casing needed.
ifneq (,$(findstring cpuopt,$(DEB_BUILD_OPTIONS)))
ifneq (,$(findstring $(DEB_HOST_ARCH),i386 amd64))
COMMON_CONFIG_PARAMS += -DGMX_CPU_ACCELERATION=SSE2
endif
endif
# Include "gpu" in DEB_BUILD_OPTIONS to build GPU-accelerated binaries as well.
# See INSTALL-GPU. This build option is not tested, please send comments.
# You must have OpenMM development headers (not packaged) and "nvidia-cuda-dev"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment