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 |
}
|