|
Lines 2-119
Link Here
|
| 2 |
# $FreeBSD: head/benchmarks/himenobench/Makefile 401096 2015-11-09 12:59:03Z antoine $ |
2 |
# $FreeBSD: head/benchmarks/himenobench/Makefile 401096 2015-11-09 12:59:03Z antoine $ |
| 3 |
|
3 |
|
| 4 |
PORTNAME= himenobench |
4 |
PORTNAME= himenobench |
| 5 |
PORTVERSION= 2004.08.16 |
5 |
PORTVERSION= 2015.07.09 |
| 6 |
PORTREVISION= 6 |
|
|
| 7 |
CATEGORIES= benchmarks |
6 |
CATEGORIES= benchmarks |
| 8 |
MASTER_SITES= http://accc.riken.jp/secure/4502/:C http://accc.riken.jp/secure/4503/:C \ |
7 |
MASTER_SITES= http://accc.riken.jp/wp-content/uploads/2015/07/ |
| 9 |
http://accc.riken.jp/secure/4504/:F90 http://accc.riken.jp/secure/4505/:F77 |
8 |
DISTFILES= himenobmtxp_xl.zip himenobmtxp_l.zip \ |
| 10 |
DISTFILES= himenoBMTxp_xl.lzh:F77 himenoBMTxp_l.lzh:F77 himenoBMTxp_m.lzh:F77 \ |
9 |
himenobmtxp_m.zip himenobmtxp_s.zip \ |
| 11 |
himenoBMTxp_s.lzh:F77 cc_himenoBMTxp_xl.lzh:C cc_himenoBMTxp_l.lzh:C \ |
10 |
cc_himenobmtxp_xl.zip cc_himenobmtxp_l.zip \ |
| 12 |
cc_himenoBMTxp_m.lzh:C cc_himenoBMTxp_s.lzh:C f90_xp.lzh:F90 himenobmtxpa.lzh:C |
11 |
cc_himenobmtxp_m.zip cc_himenobmtxp_s.zip \ |
|
|
12 |
f90_xp.zip himenobmtxpa.zip |
| 13 |
DIST_SUBDIR= himeno |
13 |
DIST_SUBDIR= himeno |
| 14 |
|
14 |
|
| 15 |
MAINTAINER= ports@FreeBSD.org |
15 |
MAINTAINER= ports@FreeBSD.org |
| 16 |
COMMENT= Himeno bench benchmark, solves Poisson eq. with Jacobi's method |
16 |
COMMENT= Tool for measureing performance of floating point operation |
| 17 |
|
17 |
|
| 18 |
BROKEN= unfetchable |
18 |
LICENSE= LGPL20 # (or later) |
|
|
19 |
|
| 20 |
EXTRACT_DEPENDS= lha:${PORTSDIR}/archivers/lha |
| 19 |
|
21 |
|
| 20 |
USES= lha |
|
|
| 21 |
NO_WRKSUBDIR= yes |
22 |
NO_WRKSUBDIR= yes |
| 22 |
|
23 |
|
| 23 |
.if defined(WITH_ICC) |
24 |
USES= zip |
| 24 |
BUILD_DEPENDS= ${LOCALBASE}/intel_cc_80/bin/icc:${PORTSDIR}/lang/icc |
25 |
|
| 25 |
.endif |
26 |
OPTIONS_DEFINE= ICC IFC OPTIMIZED_CFLAGS |
| 26 |
|
27 |
OPTIONS_SUB= yes |
| 27 |
.if defined(WITH_IFC) |
28 |
|
| 28 |
USES+= fortran:ifort |
29 |
ICC_DESC= Intel C compiler support |
| 29 |
.else |
30 |
ICC_BUILD_DEPENDS= ${LOCALBASE}/intel_cc_80/bin/icc:${PORTSDIR}/lang/icc |
| 30 |
USES+= fortran |
31 |
IFC_DESC= Intel Fortran compiler support |
| 31 |
.endif |
32 |
IFC_USES= fortran:ifort |
| 32 |
|
33 |
IFC_USES_OFF= fortran |
| 33 |
.if defined(WITH_OPTIMIZED_FLAGS) |
34 |
OPTIMIZED_CFLAGS_CFLAGS=${OPTFLAGS} |
| 34 |
FFLAGS+= -O2 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations |
35 |
OPTIMIZED_CFLAGS_VARS= FFLAGS+="${OPTFLAGS}" |
| 35 |
CFLAGS+= -O2 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations |
|
|
| 36 |
.endif |
| 37 |
|
36 |
|
| 38 |
.if defined(WITH_ICC) |
|
|
| 39 |
CFLAGS_ICC+= -O3 -tpp7 -axN -Vaxlib |
| 40 |
ICC= ${LOCALBASE}/intel_cc_80/bin/icc |
37 |
ICC= ${LOCALBASE}/intel_cc_80/bin/icc |
| 41 |
PLIST_SUB+= WITH_ICC="" |
38 |
CFLAGS_ICC= -O3 -tpp7 -axN -Vaxlib |
| 42 |
.else |
|
|
| 43 |
PLIST_SUB+= WITH_ICC="@comment " |
| 44 |
.endif |
| 45 |
.if defined(WITH_IFC) |
| 46 |
FFLAGS_IFC+= -O3 -tpp7 -axN -Vaxlib -ipo |
| 47 |
IFC= ${LOCALBASE}/intel_fc_80/bin/ifort |
39 |
IFC= ${LOCALBASE}/intel_fc_80/bin/ifort |
| 48 |
PLIST_SUB+= WITH_IFC="" |
40 |
FFLAGS_IFC= -O3 -tpp7 -axN -Vaxlib -ipo |
| 49 |
.else |
41 |
OPTFLAGS= -O2 -ffast-math -finline-functions -fomit-frame-pointer \ |
| 50 |
PLIST_SUB+= WITH_IFC="@comment " |
42 |
-funroll-loops -fexpensive-optimizations |
| 51 |
.endif |
43 |
|
| 52 |
|
44 |
post-extract: |
| 53 |
.if defined(WITH_IFC) |
45 |
@${FIND} ${WRKSRC} -name "*.lzh" -type f -maxdepth 1 -exec lha \ |
| 54 |
PLIST_SUB+= WITH_GFORTRAN="@comment " |
46 |
xfpw=${WRKSRC} {} \; |
| 55 |
.else |
|
|
| 56 |
PLIST_SUB+= WITH_GFORTRAN="" |
| 57 |
.endif |
| 58 |
|
47 |
|
| 59 |
do-build: |
48 |
do-build: |
| 60 |
.if ! defined(WITH_IFC) |
49 |
# Too large |
| 61 |
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp himenobmtxp.f90 |
50 |
# cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
| 62 |
.endif |
51 |
# -o himenobmtxp_xl himenobmtxp_xl.f |
| 63 |
# cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_xl himenobmtxp_xl.f #Too large |
52 |
cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
| 64 |
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_l himenobmtxp_l.f |
53 |
-o himenobmtxp_l himenobmtxp_l.f |
| 65 |
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_m himenobmtxp_m.f |
54 |
cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
| 66 |
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_s himenobmtxp_s.f |
55 |
-o himenobmtxp_m himenobmtxp_m.f |
| 67 |
# cd ${WRKSRC} ; ${CC} ${CFLAGS} -DELARGE -o himenobmtxps_xl himenobmtxps.c #Too large |
56 |
cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
| 68 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DLARGE -o himenobmtxps_l himenobmtxps.c |
57 |
-o himenobmtxp_s himenobmtxp_s.f |
| 69 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DMIDDLE -o himenobmtxps_m himenobmtxps.c |
58 |
# Too large |
| 70 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DSMALL -o himenobmtxps_s himenobmtxps.c |
59 |
# cd ${WRKSRC} && ${CC} ${CFLAGS} -DELARGE \ |
| 71 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DSSMALL -o himenobmtxps_ss himenobmtxps.c |
60 |
# -o himenobmtxps_xl himenobmtxps.c |
| 72 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -o himenobmtxpa himenobmtxpa.c |
61 |
cd ${WRKSRC} && ${CC} ${CFLAGS} -DLARGE \ |
| 73 |
.if defined(WITH_IFC) |
62 |
-o himenobmtxps_l himenobmtxps.c |
| 74 |
# cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_xl.ifc himenobmtxp_xl.f #Too large |
63 |
cd ${WRKSRC} && ${CC} ${CFLAGS} -DMIDDLE \ |
| 75 |
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_l.ifc himenobmtxp_l.f |
64 |
-o himenobmtxps_m himenobmtxps.c |
| 76 |
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_m.ifc himenobmtxp_m.f |
65 |
cd ${WRKSRC} && ${CC} ${CFLAGS} -DSMALL \ |
| 77 |
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_s.ifc himenobmtxp_s.f |
66 |
-o himenobmtxps_s himenobmtxps.c |
| 78 |
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp.ifc himenobmtxp.f90 |
67 |
cd ${WRKSRC} && ${CC} ${CFLAGS} -DSSMALL \ |
| 79 |
.endif |
68 |
-o himenobmtxps_ss himenobmtxps.c |
| 80 |
|
69 |
cd ${WRKSRC} && ${CC} ${CFLAGS} \ |
| 81 |
.if defined(WITH_ICC) |
70 |
-o himenobmtxpa himenobmtxpa.c |
| 82 |
# cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DELARGE -o himenobmtxps_xl.icc himenobmtxps.c #Too large |
71 |
|
| 83 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DLARGE -o himenobmtxps_l.icc himenobmtxps.c |
72 |
post-build-IFC-off: |
| 84 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DMIDDLE -o himenobmtxps_m.icc himenobmtxps.c |
73 |
cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
| 85 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DSMALL -o himenobmtxps_s.icc himenobmtxps.c |
74 |
-o himenobmtxp himenobmtxp.f90 |
| 86 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DSSMALL -o himenobmtxps_ss.icc himenobmtxps.c |
75 |
|
| 87 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -o himenobmtxpa.icc himenobmtxpa.c |
76 |
post-build-IFC-on: |
| 88 |
.endif |
77 |
# Too large |
|
|
78 |
# cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
| 79 |
# -o himenobmtxp_xl.ifc himenobmtxp_xl.f |
| 80 |
cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
| 81 |
-o himenobmtxp_l.ifc himenobmtxp_l.f |
| 82 |
cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
| 83 |
-o himenobmtxp_m.ifc himenobmtxp_m.f |
| 84 |
cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
| 85 |
-o himenobmtxp_s.ifc himenobmtxp_s.f |
| 86 |
cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
| 87 |
-o himenobmtxp.ifc himenobmtxp.f90 |
| 88 |
|
| 89 |
post-build-ICC-on: |
| 90 |
# Too large |
| 91 |
# cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DELARGE \ |
| 92 |
# -o himenobmtxps_xl.icc himenobmtxps.c |
| 93 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DLARGE \ |
| 94 |
-o himenobmtxps_l.icc himenobmtxps.c |
| 95 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DMIDDLE \ |
| 96 |
-o himenobmtxps_m.icc himenobmtxps.c |
| 97 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DSMALL \ |
| 98 |
-o himenobmtxps_s.icc himenobmtxps.c |
| 99 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DSSMALL \ |
| 100 |
-o himenobmtxps_ss.icc himenobmtxps.c |
| 101 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} \ |
| 102 |
-o himenobmtxpa.icc himenobmtxpa.c |
| 89 |
|
103 |
|
| 90 |
do-install: |
104 |
do-install: |
| 91 |
# ${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_xl ${STAGEDIR}${PREFIX}/bin #Too large |
105 |
# Too large |
| 92 |
.if ! defined(WITH_IFC) |
106 |
# cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_xl \ |
| 93 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp ${STAGEDIR}${PREFIX}/bin |
107 |
# ${STAGEDIR}${PREFIX}/bin |
| 94 |
.endif |
108 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_l \ |
| 95 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_l ${STAGEDIR}${PREFIX}/bin |
109 |
${STAGEDIR}${PREFIX}/bin |
| 96 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_m ${STAGEDIR}${PREFIX}/bin |
110 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_m \ |
| 97 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_s ${STAGEDIR}${PREFIX}/bin |
111 |
${STAGEDIR}${PREFIX}/bin |
| 98 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxpa ${STAGEDIR}${PREFIX}/bin |
112 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_s \ |
| 99 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_l ${STAGEDIR}${PREFIX}/bin |
113 |
${STAGEDIR}${PREFIX}/bin |
| 100 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_m ${STAGEDIR}${PREFIX}/bin |
114 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxpa \ |
| 101 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_s ${STAGEDIR}${PREFIX}/bin |
115 |
${STAGEDIR}${PREFIX}/bin |
| 102 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_ss ${STAGEDIR}${PREFIX}/bin |
116 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_l \ |
| 103 |
.if defined(WITH_IFC) |
117 |
${STAGEDIR}${PREFIX}/bin |
| 104 |
# ${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_xl.ifc ${STAGEDIR}${PREFIX}/bin #Too large |
118 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_m \ |
| 105 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_l.ifc ${STAGEDIR}${PREFIX}/bin |
119 |
${STAGEDIR}${PREFIX}/bin |
| 106 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_m.ifc ${STAGEDIR}${PREFIX}/bin |
120 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_s \ |
| 107 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_s.ifc ${STAGEDIR}${PREFIX}/bin |
121 |
${STAGEDIR}${PREFIX}/bin |
| 108 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp.ifc ${STAGEDIR}${PREFIX}/bin |
122 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_ss \ |
| 109 |
.endif |
123 |
${STAGEDIR}${PREFIX}/bin |
| 110 |
.if defined(WITH_ICC) |
124 |
|
| 111 |
# ${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_xl.icc ${STAGEDIR}${PREFIX}/bin #Too large |
125 |
post-install-IFC-off: |
| 112 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_l.icc ${STAGEDIR}${PREFIX}/bin |
126 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp \ |
| 113 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_m.icc ${STAGEDIR}${PREFIX}/bin |
127 |
${STAGEDIR}${PREFIX}/bin |
| 114 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_s.icc ${STAGEDIR}${PREFIX}/bin |
128 |
|
| 115 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_ss.icc ${STAGEDIR}${PREFIX}/bin |
129 |
post-install-IFC-on: |
| 116 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxpa.icc ${STAGEDIR}${PREFIX}/bin |
130 |
# Too large |
| 117 |
.endif |
131 |
# cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_xl.ifc \ |
|
|
132 |
# ${STAGEDIR}${PREFIX}/bin |
| 133 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_l.ifc \ |
| 134 |
${STAGEDIR}${PREFIX}/bin |
| 135 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_m.ifc \ |
| 136 |
${STAGEDIR}${PREFIX}/bin |
| 137 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_s.ifc \ |
| 138 |
${STAGEDIR}${PREFIX}/bin |
| 139 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp.ifc \ |
| 140 |
${STAGEDIR}${PREFIX}/bin |
| 141 |
|
| 142 |
post-install-ICC-on: |
| 143 |
# Too large |
| 144 |
# cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_xl.icc \ |
| 145 |
# ${STAGEDIR}${PREFIX}/bin |
| 146 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_l.icc \ |
| 147 |
${STAGEDIR}${PREFIX}/bin |
| 148 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_m.icc \ |
| 149 |
${STAGEDIR}${PREFIX}/bin |
| 150 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_s.icc \ |
| 151 |
${STAGEDIR}${PREFIX}/bin |
| 152 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_ss.icc \ |
| 153 |
${STAGEDIR}${PREFIX}/bin |
| 154 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxpa.icc \ |
| 155 |
${STAGEDIR}${PREFIX}/bin |
| 118 |
|
156 |
|
| 119 |
.include <bsd.port.mk> |
157 |
.include <bsd.port.mk> |