diff options
author | Alexey Shvetsov <alexxy@gentoo.org> | 2012-06-19 18:09:33 +0400 |
---|---|---|
committer | Alexey Shvetsov <alexxy@gentoo.org> | 2012-06-19 18:09:33 +0400 |
commit | b068ed3581fa74b2e1c3cc3519e8dcfd6afffe22 (patch) | |
tree | b37f9e4e572bba5b1b9cb9a6355e1935d76600d3 | |
parent | Merge github.com:gentoo-science/sci (diff) | |
download | sci-b068ed3581fa74b2e1c3cc3519e8dcfd6afffe22.tar.gz sci-b068ed3581fa74b2e1c3cc3519e8dcfd6afffe22.tar.bz2 sci-b068ed3581fa74b2e1c3cc3519e8dcfd6afffe22.zip |
[sci-chemistry/gromacs] Add new acceleration use flags for gromacs
(Portage version: 2.2.0_alpha110/git/Linux x86_64, unsigned Manifest commit)
-rw-r--r-- | sci-chemistry/gromacs/ChangeLog | 4 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-4.6.9999.ebuild | 18 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-9999.ebuild | 18 | ||||
-rw-r--r-- | sci-chemistry/gromacs/metadata.xml | 7 |
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> |