| 3 |
3 |
|
| 4 |
4 |
EAPI=7
|
| 5 |
5 |
|
| 6 |
|
inherit toolchain-funcs
|
|
6 |
inherit autotools toolchain-funcs
|
| 7 |
7 |
|
| 8 |
8 |
DESCRIPTION="Portable Implementation of the Linpack Benchmark for Distributed-Memory Clusters"
|
| 9 |
9 |
HOMEPAGE="http://www.netlib.org/benchmark/hpl/"
|
| ... | ... | |
| 21 |
21 |
virtual/mpi"
|
| 22 |
22 |
DEPEND="${RDEPEND}"
|
| 23 |
23 |
|
| 24 |
|
src_prepare() {
|
| 25 |
|
local a=""
|
| 26 |
|
local locallib="${EPREFIX}/usr/$(get_libdir)/lib"
|
| 27 |
|
local localblas="$(for i in $($(tc-getPKG_CONFIG) --libs-only-l blas lapack);do a="${a} ${i/-l/${locallib}}.so "; done; echo ${a})"
|
| 28 |
|
|
| 29 |
|
cp setup/Make.Linux_PII_FBLAS Make.gentoo_hpl_fblas_x86 || die
|
| 30 |
|
sed -i \
|
| 31 |
|
-e "/^TOPdir/s,= .*,= ${S}," \
|
| 32 |
|
-e '/^HPL_OPTS\>/s,=,= -DHPL_DETAILED_TIMING -DHPL_COPY_L,' \
|
| 33 |
|
-e '/^ARCH\>/s,= .*,= gentoo_hpl_fblas_x86,' \
|
| 34 |
|
-e '/^MPdir\>/s,= .*,=,' \
|
| 35 |
|
-e '/^MPlib\>/s,= .*,=,' \
|
| 36 |
|
-e "/^LAlib\>/s,= .*,= ${localblas}," \
|
| 37 |
|
-e '/^LINKER\>/s,= .*,= mpicc,' \
|
| 38 |
|
-e '/^CC\>/s,= .*,= mpicc,' \
|
| 39 |
|
-e '/^CCFLAGS\>/s|= .*|= $(HPL_DEFS) ${CFLAGS}|' \
|
| 40 |
|
-e "/^LINKFLAGS\>/s|= .*|= ${LDFLAGS}|" \
|
| 41 |
|
-e "/^ARCHIVER\>/s|= .*|= $(tc-getAR)|" \
|
| 42 |
|
Make.gentoo_hpl_fblas_x86 || die
|
|
24 |
PATCHES=(
|
|
25 |
"${FILESDIR}/${PN}-2.3-respect-AR.patch"
|
|
26 |
)
|
| 43 |
27 |
|
|
28 |
src_prepare() {
|
| 44 |
29 |
default
|
| 45 |
|
}
|
| 46 |
30 |
|
| 47 |
|
src_compile() {
|
| 48 |
|
# parallel make failure bug #321539
|
| 49 |
|
HOME="${WORKDIR}" emake -j1 arch=gentoo_hpl_fblas_x86
|
|
31 |
# Needed for the AR patch
|
|
32 |
eautoreconf
|
| 50 |
33 |
}
|
| 51 |
34 |
|
| 52 |
35 |
src_install() {
|
| 53 |
|
dobin bin/gentoo_hpl_fblas_x86/xhpl
|
| 54 |
|
dolib.a lib/gentoo_hpl_fblas_x86/libhpl.a
|
|
36 |
default
|
| 55 |
37 |
|
| 56 |
|
dodoc INSTALL BUGS COPYRIGHT HISTORY README TUNING \
|
| 57 |
|
bin/gentoo_hpl_fblas_x86/HPL.dat
|
| 58 |
38 |
doman man/man3/*.3
|
|
39 |
dodoc testing/ptest/HPL.dat
|
| 59 |
40 |
|
| 60 |
41 |
if use doc; then
|
| 61 |
42 |
docinto html
|
| ... | ... | |
| 64 |
45 |
}
|
| 65 |
46 |
|
| 66 |
47 |
pkg_postinst() {
|
| 67 |
|
einfo "Remember to copy ${EROOT}/usr/share/hpl/HPL.dat to your working directory"
|
| 68 |
|
einfo "before running xhpl. Typically one may run hpl by executing:"
|
|
48 |
einfo "Remember to copy (+ extract) ${EROOT}/usr/share/${PF}/HPL.dat.bzip2 to your working directory"
|
|
49 |
einfo "before running xhpl. Typically one may run hpl by executing:"
|
| 69 |
50 |
einfo "\"mpiexec -np 4 ${EROOT}/usr/bin/xhpl\""
|
| 70 |
51 |
einfo "where -np specifies the number of processes."
|
| 71 |
52 |
}
|