aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-chemistry/gromacs/ChangeLog4
-rw-r--r--sci-chemistry/gromacs/gromacs-4.6.9999.ebuild18
-rw-r--r--sci-chemistry/gromacs/gromacs-9999.ebuild18
-rw-r--r--sci-chemistry/gromacs/metadata.xml7
4 files changed, 32 insertions, 15 deletions
diff --git a/sci-chemistry/gromacs/ChangeLog b/sci-chemistry/gromacs/ChangeLog
index 2395fef51..61418cfce 100644
--- a/sci-chemistry/gromacs/ChangeLog
+++ b/sci-chemistry/gromacs/ChangeLog
@@ -2,6 +2,10 @@
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 19 Jun 2012; Alexey Shvetsov <alexxy@gentoo.org> gromacs-4.6.9999.ebuild,
+ gromacs-9999.ebuild, metadata.xml:
+ [sci-chemistry/gromacs] Add new acceleration use flags for gromacs
+
11 Jun 2012; Christoph Junghans <ottxor@gentoo.org> gromacs-4.6.9999.ebuild,
metadata.xml:
add support for new hybrid kernels
diff --git a/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild b/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
index 791d1c54c..752c56ed4 100644
--- a/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
+++ b/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
@@ -27,14 +27,16 @@ else
SRC_URI="${SRC_URI} ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz"
fi
+ACCE_IUSE="fkernels power6 sse2 sse41 avx128fma avx256"
+
DESCRIPTION="The ultimate molecular dynamics simulation package"
HOMEPAGE="http://www.gromacs.org/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="X altivec blas cuda doc -double-precision +fftw fkernels gsl hybrid lapack
-mpi openmp +single-precision sse2 test +threads xml zsh-completion"
+IUSE="X blas cuda doc -double-precision +fftw gsl hybrid lapack
+mpi openmp +single-precision test +threads xml zsh-completion ${ACCE_IUSE}"
CDEPEND="
X? (
@@ -109,11 +111,13 @@ src_configure() {
local mycmakeargs_pre=( )
#go from slowest to fastest acceleration
- local acce="none"
- use fkernels && use !threads && acce="fortran"
- use altivec && acce="altivec"
- use ia64 && acce="ia64"
- use sse2 && acce="sse"
+ local acce="None"
+ use fkernels && use !threads && acce="Fortran"
+ use power6 && acce="Power6"
+ use sse2 && acce="SSE2"
+ use sse41 && acce="SSE4.1"
+ use avx128fma && acce="AVX_128_FMA"
+ use avx256 && acce="AVX_256"
#workaround for now
use sse2 && use hybrid && CFLAGS+=" -msse2"
diff --git a/sci-chemistry/gromacs/gromacs-9999.ebuild b/sci-chemistry/gromacs/gromacs-9999.ebuild
index 24e0e1406..f9891eaf6 100644
--- a/sci-chemistry/gromacs/gromacs-9999.ebuild
+++ b/sci-chemistry/gromacs/gromacs-9999.ebuild
@@ -9,6 +9,8 @@ TEST_PV="4.0.4"
EGIT_REPO_URI="git://git.gromacs.org/gromacs http://repo.or.cz/r/gromacs.git"
EGIT_BRANCH="master"
+ACCE_IUSE="fkernels power6 sse2 sse41 avx128fma avx256"
+
#to find external blas/lapack
CMAKE_MIN_VERSION="2.8.5-r2"
@@ -21,8 +23,8 @@ SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="X altivec blas doc -double-precision +fftw fkernels gsl lapack
-mpi +single-precision sse2 test +threads xml zsh-completion"
+IUSE="X blas doc -double-precision +fftw gsl lapack mpi +single-precision test
++threads xml zsh-completion ${ACCE_IUSE}"
REQUIRED_USE="fkernels? ( !threads )"
CDEPEND="
@@ -122,11 +124,13 @@ src_configure() {
fi
#go from slowest to fasterest acceleration
- local acce="none"
- use fkernels && acce="fortran"
- use altivec && acce="altivec"
- use ia64 && acce="ia64"
- use sse2 && acce="sse"
+ local acce="None"
+ use fkernels && use !threads && acce="Fortran"
+ use power6 && acce="Power6"
+ use sse2 && acce="SSE2"
+ use sse41 && acce="SSE4.1"
+ use avx128fma && acce="AVX_128_FMA"
+ use avx256 && acce="AVX_256"
mycmakeargs_pre+=(
$(cmake-utils_use X GMX_X11)
diff --git a/sci-chemistry/gromacs/metadata.xml b/sci-chemistry/gromacs/metadata.xml
index 444d47e67..dd3f082b0 100644
--- a/sci-chemistry/gromacs/metadata.xml
+++ b/sci-chemistry/gromacs/metadata.xml
@@ -9,8 +9,13 @@
<use>
<flag name="cuda">Enable cuda non-bonded kernels</flag>
<flag name="double-precision">More precise calculations at the expense of speed</flag>
- <flag name="fkernels">Enable building of Fortran Kernels for platforms that dont have assembly loops</flag>
<flag name="hybrid">Enable hybrid acceleration kernels</flag>
<flag name="single-precision">Single precision version of gromacs (default)</flag>
+ <!-- acceleration optimization flags -->
+ <flag name="fkernels">Enable building of Fortran Kernels for platforms that dont have assembly loops</flag>
+ <flag name="sse41">Enable sse4.1 acceleration</flag>
+ <flag name="avx128fma">Enable 128bit avx with fma (e.g. AMD BullDozer)</flag>
+ <flag name="avx256">Enable 256bit avx (e.g. Intel Sandy Bridge)</flag>
+ <flag name="power6">Enable Power6 optimizations</flag>
</use>
</pkgmetadata>