- Make user of port understand information about memory heirarchy needs to
be provided. - Bump portrevision.
This commit is contained in:
parent
783f2a31a6
commit
0a5c2e68be
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=388393
3 changed files with 47 additions and 2 deletions
|
@ -3,6 +3,7 @@
|
|||
|
||||
PORTNAME= librsb
|
||||
PORTVERSION= 1.2.0r1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= math
|
||||
MASTER_SITES= SF/librsb
|
||||
DISTNAME= ${PORTNAME}-${PORTVERSION:S/r/-rc/}
|
||||
|
@ -17,12 +18,24 @@ BUILD_DEPENDS= gsed:${PORTSDIR}/textproc/gsed
|
|||
|
||||
USES= fortran compiler:openmp gmake shebangfix
|
||||
GNU_CONFIGURE= yes
|
||||
CFLAGS= -fPIC
|
||||
CFLAGS+= -fPIC
|
||||
CONFIGURE_ARGS= --enable-fortran-module-install \
|
||||
--enable-matrix-types="double, double complex"
|
||||
--enable-matrix-types="double, double complex" \
|
||||
--with-memhinfo="${RSB_USER_SET_MEM_HIERARCHY_INFO}"
|
||||
SHEBANG_FILES= scripts/*.sh
|
||||
|
||||
MANUAL_PACKAGE_BUILD= Optimizes for the local machine
|
||||
|
||||
pre-configure:
|
||||
@if [ -z "${RSB_USER_SET_MEM_HIERARCHY_INFO}" ]; then \
|
||||
${CAT} ${FILESDIR}/memhinfo.txt; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -E s/sed/gsed/g ${WRKSRC}/scripts/*.sh
|
||||
|
||||
check regression-test test: build
|
||||
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} qtests
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
11
math/librsb/files/memhinfo.txt
Normal file
11
math/librsb/files/memhinfo.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
|
||||
This port needs information about the memory cache system before building.
|
||||
You can set this in the variable RSB_USER_SET_MEM_HIERARCHY_INFO, for example
|
||||
make RSB_USER_SET_MEM_HIERARCHY_INFO="L2:12/64/3M,L1:64/8/32K"
|
||||
Finding these values is tricky, but the following steps will help:
|
||||
1. read the README file in the source code
|
||||
2. build the port misc/cpuid
|
||||
3. run the program cpuid
|
||||
You are on your own in figuring out how to convert the information from the
|
||||
program cpuid to the value of RSB_USER_SET_MEM_HIERARCHY_INFO.
|
||||
|
21
math/librsb/files/patch-rsb__init.c
Normal file
21
math/librsb/files/patch-rsb__init.c
Normal file
|
@ -0,0 +1,21 @@
|
|||
--- rsb_init.c.orig 2015-05-01 21:04:42 UTC
|
||||
+++ rsb_init.c
|
||||
@@ -50,13 +50,15 @@ const rsb_char_t * rsb__init_get_mem_hie
|
||||
if((usmhi = getenv("RSB_USER_SET_MEM_HIERARCHY_INFO"))!=NULL && *usmhi)
|
||||
goto done;
|
||||
#endif /* RSB_HAVE_GETENV */
|
||||
+#ifdef RSB_DETECTED_MEM_HIERARCHY_INFO
|
||||
+ if(verbose) RSB_INFO("Checking hardcoded RSB_DETECTED_MEM_HIERARCHY_INFO symbol\n");
|
||||
+ usmhi = RSB_DETECTED_MEM_HIERARCHY_INFO;
|
||||
+ if (*usmhi)
|
||||
+ goto done;
|
||||
#ifdef RSB_USER_SET_MEM_HIERARCHY_INFO
|
||||
if(verbose) RSB_INFO("Checking hardcoded RSB_USER_SET_MEM_HIERARCHY_INFO symbol\n");
|
||||
usmhi = RSB_USER_SET_MEM_HIERARCHY_INFO;
|
||||
#endif /* RSB_USER_SET_MEM_HIERARCHY_INFO */
|
||||
-#ifdef RSB_DETECTED_MEM_HIERARCHY_INFO
|
||||
- if(verbose) RSB_INFO("Checking hardcoded RSB_DETECTED_MEM_HIERARCHY_INFO symbol\n");
|
||||
- usmhi = RSB_DETECTED_MEM_HIERARCHY_INFO;
|
||||
#endif /* RSB_USER_SET_MEM_HIERARCHY_INFO */
|
||||
done:
|
||||
if(verbose) RSB_INFO("Available memory hierarchy info string: \"%s\"\n",usmhi);
|
Loading…
Reference in a new issue