aboutsummaryrefslogtreecommitdiff
path: root/math/blis/Makefile
diff options
context:
space:
mode:
authorJohannes M Dieterich <jmd@FreeBSD.org>2017-05-20 23:09:23 +0000
committerJohannes M Dieterich <jmd@FreeBSD.org>2017-05-20 23:09:23 +0000
commitfc4e400f591a658b27caa5d3a28b516790f8b6bc (patch)
treed43a15891bdc2acf1a3d89460d565b98eb6d1981 /math/blis/Makefile
parent653af43a0e58363b86a3f8b7f54545f65072a01e (diff)
downloadports-fc4e400f591a658b27caa5d3a28b516790f8b6bc.tar.gz
ports-fc4e400f591a658b27caa5d3a28b516790f8b6bc.zip
new port: math/blis
BLIS is a portable software framework for instantiating high-performance BLAS-like dense linear algebra libraries. The framework was designed to isolate essential kernels of computation that, when optimized, immediately enable optimized implementations of most of its commonly used and computationally intensive operations. BLIS is written in ISO C99 and available under a BSD3CLAUSE. While BLIS exports a new BLAS-like API, it also includes a BLAS compatibility layer which gives application developers access to BLIS implementations via traditional BLAS routine calls. (from their github) Reviewed by: swills (mentor) Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D10811
Notes
Notes: svn path=/head/; revision=441353
Diffstat (limited to 'math/blis/Makefile')
-rw-r--r--math/blis/Makefile76
1 files changed, 76 insertions, 0 deletions
diff --git a/math/blis/Makefile b/math/blis/Makefile
new file mode 100644
index 000000000000..2393a31527b7
--- /dev/null
+++ b/math/blis/Makefile
@@ -0,0 +1,76 @@
+# Created by: Johannes M Dieterich <jmd@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= blis
+PORTVERSION= 0.2.2
+CATEGORIES= math
+
+MAINTAINER= jmd@FreeBSD.org
+COMMENT= Software framework for high-performance BLAS-like libraries
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= bash:shells/bash
+
+OPTIONS_DEFINE= PARA CBLAS
+PARA_DESC= use pthread parallelization
+CBLAS_DESC= build the CBLAS compatibility layer
+OPTIONS_RADIO= ARCHITECTURE
+OPTIONS_RADIO_ARCHITECTURE= REFERENCE BULLDOZER PILEDRIVER CARRIZO DUNNINGTON SANDYBRIDGE HASWELL
+REFERENCE_DESC= reference kernels (slow)
+BULLDOZER_DESC= optimized kernels for AMD Bulldozer architecture
+PILEDRIVER_DESC= optimized kernels for AMD Piledriver architecture
+CARRIZO_DESC= optimized kernels for AMD Carrizo architecture
+DUNNINGTON_DESC= optimized kernels for Intel Dunnington architecture
+SANDYBRIDGE_DESC= optimized kernels for Intel Sandybridge architecture
+HASWELL_DESC= optimized kernels for Intel Haswell architecture
+OPTIONS_DEFAULT= PARA CBLAS REFERENCE
+OPTIONS_SUB= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= flame
+GH_TAGNAME= 6e04f9d
+
+USE_LDCONFIG= yes
+USES= gmake
+
+HAS_CONFIGURE= yes
+
+.include <bsd.port.options.mk>
+
+# enable BLAS by default
+CONFIGURE_ARGS+= --enable-blas \
+ --prefix=${LOCALBASE}
+#--prefix=PREFIX
+
+.if ${PORT_OPTIONS:MPARA}
+CONFIGURE_ARGS+= -t pthreads
+.endif
+
+.if ${PORT_OPTIONS:MCBLAS}
+CONFIGURE_ARGS+= --enable-cblas
+.endif
+
+ARCH= reference
+.if ${PORT_OPTIONS:MREFERENCE}
+ARCH= reference
+.elif ${PORT_OPTIONS:MBULLDOZER}
+ARCH= bulldozer
+.elif ${PORT_OPTIONS:MPILEDRIVER}
+ARCH= piledriver
+.elif ${PORT_OPTIONS:MCARRIZO}
+ARCH= carrizo
+.elif ${PORT_OPTIONS:MDUNNINGTON}
+ARCH= dunnington
+.elif ${PORT_OPTIONS:MSANDYBRIDGE}
+ARCH= sandybridge
+.elif ${PORT_OPTIONS:MHASWELL}
+ARCH= haswell
+.endif
+CONFIGURE_ARGS+= ${ARCH}
+
+post-install:
+ ${MV} ${STAGEDIR}/${LOCALBASE}/lib/libblis-${PORTVERSION}-${ARCH}.a ${STAGEDIR}/${LOCALBASE}/lib/libblis.a
+
+.include <bsd.port.mk>