Gentoo Archives: gentoo-commits

From: "Alexey Shvetsov (alexxy)" <alexxy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-cluster/mvapich2: metadata.xml ChangeLog mvapich2-1.6.ebuild
Date: Thu, 30 Jun 2011 23:11:25
Message-Id: 20110630231115.7F8E720054@flycatcher.gentoo.org
1 alexxy 11/06/30 23:11:15
2
3 Added: metadata.xml ChangeLog mvapich2-1.6.ebuild
4 Log:
5 [sys-cluster/mvapich2] Initial import to tree
6
7 (Portage version: 2.2.0_alpha41/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.1 sys-cluster/mvapich2/metadata.xml
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/mvapich2/metadata.xml?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/mvapich2/metadata.xml?rev=1.1&content-type=text/plain
14
15 Index: metadata.xml
16 ===================================================================
17 <?xml version="1.0" encoding="UTF-8"?>
18 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
19 <pkgmetadata>
20 <herd>cluster</herd>
21 <longdescription>
22 MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB.
23 </longdescription>
24 <use>
25 <flag name="large-cluster">Automatically generated description for large-cluster</flag>
26 <flag name="medium-cluster">Automatically generated description for medium-cluster</flag>
27 <flag name="romio">Automatically generated description for romio</flag>
28 </use>
29 </pkgmetadata>
30
31
32
33 1.1 sys-cluster/mvapich2/ChangeLog
34
35 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/mvapich2/ChangeLog?rev=1.1&view=markup
36 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/mvapich2/ChangeLog?rev=1.1&content-type=text/plain
37
38 Index: ChangeLog
39 ===================================================================
40 # ChangeLog for sys-cluster/mvapich2
41 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
42 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/mvapich2/ChangeLog,v 1.1 2011/06/30 23:11:15 alexxy Exp $
43
44 *mvapich2-1.6 (30 Jun 2011)
45
46 30 Jun 2011; Alexey Shvetsov <alexxy@g.o> +mvapich2-1.6.ebuild,
47 +metadata.xml:
48 Initial import to tree
49
50
51
52
53 1.1 sys-cluster/mvapich2/mvapich2-1.6.ebuild
54
55 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/mvapich2/mvapich2-1.6.ebuild?rev=1.1&view=markup
56 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/mvapich2/mvapich2-1.6.ebuild?rev=1.1&content-type=text/plain
57
58 Index: mvapich2-1.6.ebuild
59 ===================================================================
60 # Copyright 1999-2011 Gentoo Foundation
61 # Distributed under the terms of the GNU General Public License v2
62 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/mvapich2/mvapich2-1.6.ebuild,v 1.1 2011/06/30 23:11:15 alexxy Exp $
63
64 EAPI="4"
65
66 inherit fortran-2
67
68 DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB"
69 HOMEPAGE="http://mvapich.cse.ohio-state.edu/"
70 SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}.tgz"
71
72 SLOT="0"
73 LICENSE="BSD"
74 KEYWORDS="~x86 ~amd64"
75 IUSE="debug fortran large-cluster medium-cluster romio threads"
76
77 RDEPEND="
78 || (
79 (
80 sys-infiniband/libibverbs
81 sys-infiniband/libibumad
82 sys-infiniband/libibmad
83 sys-infiniband/librdmacm )
84 sys-infiniband/openib-userspace )"
85 DEPEND="${RDEPEND}"
86
87 S="${WORKDIR}/mvapich2-${PV/_/-}"
88
89 pkg_setup() {
90 fortran-2_pkg_setup
91
92 if [ -z "${MVAPICH_HCA_TYPE}" ]; then
93 elog "${PN} needs to know which HCA it should optimize for. This is"
94 elog "passed to the ebuild with the variable, \${MVAPICH_HCA_TYPE}."
95 elog "Please choose one of: _MLX_PCI_EX_SDR_, _MLX_PCI_EX_DDR_,"
96 elog "_MLX_PCI_X, _PATH_HT_, or _IBM_EHCA_."
97 elog "See make.mvapich2.detect in ${S} for more information."
98 die "MVAPICH_HCA_TYPE undefined"
99 fi
100
101 case ${ARCH} in
102 amd64)
103 if grep Intel /proc/cpuinfo &>/dev/null; then
104 BUILD_ARCH=-D_EM64T_
105 else
106 BUILD_ARCH=-D_X86_64_
107 fi
108 ;;
109 x86)
110 BUILD_ARCH=-D_IA32_
111 ;;
112 ia64)
113 BUILD_ARCH=-D_IA64_
114 ;;
115 ppc64)
116 BUILD_ARCH=-D_PPC64_
117 ;;
118 *)
119 die "unsupported architecture: ${ARCH}"
120 ;;
121 esac
122 }
123
124 src_prepare() {
125 einfo "Disabling examples"
126 # Examples are always compiled with the default 'all' target. This
127 # causes problems when we don't build support for everything, including
128 # threads, mpe2, etc. So we're not going to build them.
129 sed -i 's:.*cd examples && ${MAKE} all.*::' Makefile.in
130 }
131
132 src_configure() {
133 local c="--with-device=osu_ch3:mrail
134 --with-rdma=gen2
135 --with-pm=mpd
136 $(use_enable romio)
137 --with-mpe=no"
138
139 # TODO Shared libs should build with this, but they don't
140 # --enable-shared=gcc"
141
142 local enable_srq
143 local vcluster=-D_SMALL_CLUSTER
144
145 use large-cluster && vcluster=-D_LARGE_CLUSTER
146 use medium-cluster && vcluster=-D_MEDIUM_CLUSTER
147 [ "${MVAPICH_HCA_TYPE}" == "_MLX_PCI_X_" ] && enable_srq="-DSRQ"
148
149 append-ldflags "-lrdmacm"
150 append-flags "-DADAPTIVE_RDMA_FAST_PATH -DRDMA_CM"
151
152 append-ldflags "-libverbs -libumad -libmad"
153
154 append-flags "${BUILD_ARCH} -DUSE_INLINE -D_SMP_ -D_GNU_SOURCE"
155 append-flags "${enable_srq} -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER"
156 append-flags "-DONE_SIDED -D${MVAPICH_HCA_TYPE} ${vcluster}"
157 append-flags "-DMPID_USE_SEQUENCE_NUMBERS -DUSE_MPD_RING"
158
159 use debug && c="${c} --enable-g=all --enable-debuginfo"
160
161 if use threads; then
162 c="${c} --enable-threads=multiple --with-thread-package=pthreads"
163 append-flags "-pthread"
164 else
165 c="${c} --with-thread-package=none"
166 fi
167
168 # enable f90 support for appropriate compilers
169 if use fortran; then
170 case "$(tc-getFC)" in
171 gfortran|ifort|f95)
172 c="${c} --enable-f77 --enable-f90";;
173 g77|f77|f2c)
174 c="${c} --enable-f77 --disable-f90";;
175 esac
176 else
177 c="${c} --disable-f77 --disable-f90"
178 fi
179
180 sed -i \
181 -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \
182 -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' \
183 ${S/-beta2/}/Makefile.in
184 sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in
185 cd ${S/-beta2/}
186
187 econf ${c}
188 }
189
190 src_install() {
191 emake DESTDIR="${D}"|| die
192 dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \
193 README* RELEASE_NOTES*
194 }
195
196 pkg_postinst() {
197 einfo "To allow normal users to use infiniband, it is necessary to"
198 einfo "increase the system limits on locked memory."
199 einfo "You must increase the kernel.shmmax sysctl value, and increase"
200 einfo "the memlock limits in /etc/security/limits.conf. i.e.:"
201 echo
202 einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf"
203 einfo "echo 512000000 > /proc/sys/kernel/shmmax"
204 einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf"
205 }