aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Junghans <ottxor@gentoo.org>2012-06-10 19:14:37 -0700
committerChristoph Junghans <ottxor@gentoo.org>2012-06-10 19:14:37 -0700
commitf654c8c2fd1f9f0b0bc92727f72cd61132330cbd (patch)
treed76b10cdee818448797e624467332d0d6367e0ed
parentMerge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/sci (diff)
downloadsci-f654c8c2fd1f9f0b0bc92727f72cd61132330cbd.tar.gz
sci-f654c8c2fd1f9f0b0bc92727f72cd61132330cbd.tar.bz2
sci-f654c8c2fd1f9f0b0bc92727f72cd61132330cbd.zip
add support for new hybrid kernels
(Portage version: 2.2.0_alpha110/git/Linux i686, unsigned Manifest commit)
-rw-r--r--sci-chemistry/gromacs/ChangeLog4
-rw-r--r--sci-chemistry/gromacs/Manifest4
-rw-r--r--sci-chemistry/gromacs/gromacs-4.6.9999.ebuild21
-rw-r--r--sci-chemistry/gromacs/metadata.xml2
4 files changed, 27 insertions, 4 deletions
diff --git a/sci-chemistry/gromacs/ChangeLog b/sci-chemistry/gromacs/ChangeLog
index 9310220b2..2395fef51 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: $
+ 11 Jun 2012; Christoph Junghans <ottxor@gentoo.org> gromacs-4.6.9999.ebuild,
+ metadata.xml:
+ add support for new hybrid kernels
+
28 Apr 2012; Christoph Junghans <ottxor@gentoo.org> gromacs-4.6.9999.ebuild:
[sci-chemistry/gromacs] add more mirrors
diff --git a/sci-chemistry/gromacs/Manifest b/sci-chemistry/gromacs/Manifest
index e3ce97c64..8f40aee12 100644
--- a/sci-chemistry/gromacs/Manifest
+++ b/sci-chemistry/gromacs/Manifest
@@ -1,2 +1,2 @@
-DIST gmxtest-4.0.4.tgz 14845017 SHA256 6a7f787f4bb7cbecb688115ff0854a5ffd2ef33487d7bce4b031e63848b6f361 SHA512 f8165ef1d7e2ed69db0a069a1c85fc5fa440d66e96aa54b474392a6331d2327b60f76b8dceb02f9233ce06eb6b7a4e7c448fc71f666e244efa571cf94f1e86ec WHIRLPOOL dbb122736a588deb7931204b29142dd3d9b074691e94341b04dcad2cdf428eb0aae739aa37ef6f61d1dcd6fb96ddcc1292e76f267694f3c18ee67d17352bfd9b
-DIST gromacs-manual-4.5.4.pdf 2463242 SHA256 dc14504a7072b61e7aa576c48f04df03356824f3a9d9e744dfaf51529ab46252 SHA512 957995333163f6f28568a18d5423a75dc6c315215692da94d0916f09b6221e2a875c5ff4b05385ad6604bd8ae38f0cb61c740cd734c76b360aa4b598cd2c3380 WHIRLPOOL 07077d81ea89bc02207e45e56c77a668375a7284bf6f4a3cc7fe637f1f53ce4ab687c722f13f208cdd2c056b9d766ebfcbe5ea9579ce7649ec9e088371e7db8d
+DIST gmxtest-4.0.4.tgz 14845017 RMD160 c7c583415438bdef4c9996da9064254e9460cf16 SHA1 998179aa2bfbc4f80514f10ed774762f85c854c3 SHA256 6a7f787f4bb7cbecb688115ff0854a5ffd2ef33487d7bce4b031e63848b6f361 SHA512 f8165ef1d7e2ed69db0a069a1c85fc5fa440d66e96aa54b474392a6331d2327b60f76b8dceb02f9233ce06eb6b7a4e7c448fc71f666e244efa571cf94f1e86ec WHIRLPOOL dbb122736a588deb7931204b29142dd3d9b074691e94341b04dcad2cdf428eb0aae739aa37ef6f61d1dcd6fb96ddcc1292e76f267694f3c18ee67d17352bfd9b
+DIST gromacs-manual-4.5.4.pdf 2463242 RMD160 309a1d9bc5f4821076d53f668c36f1c6bfc1714f SHA1 58c0261308212af29fa0c4f4a6d1b81da6d84766 SHA256 dc14504a7072b61e7aa576c48f04df03356824f3a9d9e744dfaf51529ab46252 SHA512 957995333163f6f28568a18d5423a75dc6c315215692da94d0916f09b6221e2a875c5ff4b05385ad6604bd8ae38f0cb61c740cd734c76b360aa4b598cd2c3380 WHIRLPOOL 07077d81ea89bc02207e45e56c77a668375a7284bf6f4a3cc7fe637f1f53ce4ab687c722f13f208cdd2c056b9d766ebfcbe5ea9579ce7649ec9e088371e7db8d
diff --git a/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild b/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
index 4d66fc343..791d1c54c 100644
--- a/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
+++ b/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
@@ -15,12 +15,13 @@ inherit bash-completion-r1 cmake-utils eutils fortran-2 multilib toolchain-funcs
SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )
doc? ( ftp://ftp.gromacs.org/pub/manual/manual-${MANUAL_PV}.pdf -> gromacs-manual-${MANUAL_PV}.pdf )"
-if [ "${PV%9999}" != "${PV}" ]; then
+if [[ $PV = *9999* ]]; then
EGIT_REPO_URI="git://git.gromacs.org/gromacs.git
https://gerrit.gromacs.org/gromacs.git
git://github.com/gromacs/gromacs.git
http://repo.or.cz/r/gromacs.git"
EGIT_BRANCH="release-4-6"
+ use hybrid && EGIT_BRANCH="nbnxn_hybrid_acc"
inherit git-2
else
SRC_URI="${SRC_URI} ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz"
@@ -32,7 +33,7 @@ HOMEPAGE="http://www.gromacs.org/"
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
+IUSE="X altivec blas cuda doc -double-precision +fftw fkernels gsl hybrid lapack
mpi openmp +single-precision sse2 test +threads xml zsh-completion"
CDEPEND="
@@ -42,6 +43,7 @@ CDEPEND="
x11-libs/libICE
)
blas? ( virtual/blas )
+ cuda? ( dev-util/nvidia-cuda-toolkit )
fftw? ( sci-libs/fftw:3.0 )
fkernels? ( !threads? ( !altivec? ( !ia64? ( !sse2? ( virtual/fortran ) ) ) ) )
gsl? ( sci-libs/gsl )
@@ -55,10 +57,16 @@ RDEPEND="${CDEPEND}
RESTRICT="test"
+REQUIRED_USE="cuda? ( !double-precision hybrid )"
+
pkg_pretend() {
[[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs"
use openmp && ! tc-has-openmp && \
die "Please switch to an openmp compatible compiler"
+ if use cuda && [[ $(( $(gcc-major-version) * 10 + $(gcc-minor-version) )) -gt 44 ]] ; then
+ eerror "gcc 4.5 and up are not supported for useflag cuda!"
+ die "gcc 4.5 and up are not supported for useflag cuda!"
+ fi
}
pkg_setup() {
@@ -107,10 +115,14 @@ src_configure() {
use ia64 && acce="ia64"
use sse2 && acce="sse"
+ #workaround for now
+ use sse2 && use hybrid && CFLAGS+=" -msse2"
+
mycmakeargs_pre+=(
-DGMX_FFT_LIBRARY=$(usex fftw fftw3 fftwpack)
$(cmake-utils_use X GMX_X11)
$(cmake-utils_use blas GMX_EXTERNAL_BLAS)
+ $(cmake-utils_use cuda GMX_GPU)
$(cmake-utils_use gsl GMX_GSL)
$(cmake-utils_use lapack GMX_EXTERNAL_LAPACK)
$(cmake-utils_use openmp GMX_OPENMP)
@@ -206,4 +218,9 @@ pkg_postinst() {
einfo "For more Gromacs cool quotes (gcq) add g_luck to your .bashrc"
einfo
elog "Gromacs can use sci-chemistry/vmd to read additional file formats"
+ if use hybrid; then
+ elog "Cuda and hybrid acceleration is still experimental,"
+ elog "use 'cutoff-scheme = Verlet' in your mdp file and"
+ elog "report bugs: http://redmine.gromacs.org/issues"
+ fi
}
diff --git a/sci-chemistry/gromacs/metadata.xml b/sci-chemistry/gromacs/metadata.xml
index 3735fb73a..444d47e67 100644
--- a/sci-chemistry/gromacs/metadata.xml
+++ b/sci-chemistry/gromacs/metadata.xml
@@ -7,8 +7,10 @@
<name>Christoph Junghans</name>
</maintainer>
<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>
</use>
</pkgmetadata>