aboutsummaryrefslogtreecommitdiffstats
path: root/math
diff options
context:
space:
mode:
authorJohannes M Dieterich <jmd@FreeBSD.org>2017-12-12 10:49:56 +0800
committerJohannes M Dieterich <jmd@FreeBSD.org>2017-12-12 10:49:56 +0800
commit95140427864b466ade7b081e1682ba5be2789fa1 (patch)
treea4879991ad8a0e28c2f654634c7550c2e4ab6c3d /math
parentf7813ae7894bc12f74a2b63d7d789a981234eee5 (diff)
downloadfreebsd-ports-gnome-95140427864b466ade7b081e1682ba5be2789fa1.tar.gz
freebsd-ports-gnome-95140427864b466ade7b081e1682ba5be2789fa1.tar.zst
freebsd-ports-gnome-95140427864b466ade7b081e1682ba5be2789fa1.zip
math/blis: update to the first snapshot working on FreeBSD to support runtime kernel selection. For amd64, this will now select, if available, an assembly optimized kernel for the CPU architecture blis is running on. The other architectures continue to only use what is now called the generic kernel but in theory arm and power7 assembly optimizations are available.
Due to this, remove the old explicit kernel selection. Also switch to use devel/llvm50 as a compiler to actually support all the architectures (and upstream compile flags) properly. This hopefully will also help with getting blis to work on other architectures out of the box. Reviewed by: swills (mentor) Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D13264
Diffstat (limited to 'math')
-rw-r--r--math/blis/Makefile55
-rw-r--r--math/blis/distinfo6
-rw-r--r--math/blis/pkg-plist65
3 files changed, 49 insertions, 77 deletions
diff --git a/math/blis/Makefile b/math/blis/Makefile
index 9c459c6c9aa0..982d73c88695 100644
--- a/math/blis/Makefile
+++ b/math/blis/Makefile
@@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME= blis
-PORTVERSION= 0.2.2
-PORTREVISION= 1
+LIBVERSION= 0.2.2
+PORTVERSION= ${LIBVERSION}g20171127
CATEGORIES= math
MAINTAINER= jmd@FreeBSD.org
@@ -12,31 +12,23 @@ COMMENT= Software framework for high-performance BLAS-like libraries
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= bash:shells/bash
+BUILD_DEPENDS= bash:shells/bash \
+ llvm50>=0:devel/llvm50
BROKEN_powerpc64= fails to configure: common.mk:118: Unable to determine compiler vendor
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
+OPTIONS_DEFAULT= PARA CBLAS
+OPTIONS_SUB= yes
USE_GITHUB= yes
GH_ACCOUNT= flame
-GH_TAGNAME= 6e04f9d
+GH_TAGNAME= 1f30b13
-USE_LDCONFIG= yes
USES= gmake
+USE_LDCONFIG= yes
HAS_CONFIGURE= yes
@@ -57,27 +49,22 @@ CONFIGURE_ARGS+= -t pthreads
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
+.if ${ARCH} == amd64
+LIBNAME= x86_64
+CONFIGURE_ARGS+= x86_64
+PLIST_SUB+= X8664=""
+.else
+LIBNAME= generic
+CONFIGURE_ARGS+= generic
+PLIST_SUB+= X8664="@comment "
.endif
-CONFIGURE_ARGS+= ${ARCH}
+
+CC= ${LOCALBASE}/bin/clang50
+CXX= ${LOCALBASE}/bin/clang++50
post-install:
- ${MV} ${STAGEDIR}/${PREFIX}/lib/libblis-${PORTVERSION}-${ARCH}.a ${STAGEDIR}/${PREFIX}/lib/libblis.a
- ${MV} ${STAGEDIR}/${PREFIX}/lib/libblis-${PORTVERSION}-${ARCH}.so ${STAGEDIR}/${PREFIX}/lib/libblis.so
+ ${MV} ${STAGEDIR}/${PREFIX}/lib/libblis-${LIBVERSION}-${LIBNAME}.a ${STAGEDIR}/${PREFIX}/lib/libblis.a
+ ${MV} ${STAGEDIR}/${PREFIX}/lib/libblis-${LIBVERSION}-${LIBNAME}.so ${STAGEDIR}/${PREFIX}/lib/libblis.so
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libblis.so
.include <bsd.port.mk>
diff --git a/math/blis/distinfo b/math/blis/distinfo
index ec84189d7801..585b1e01f96b 100644
--- a/math/blis/distinfo
+++ b/math/blis/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1495076060
-SHA256 (flame-blis-0.2.2-6e04f9d_GH0.tar.gz) = bb3fe42d1985d0c18908d6d7e2812e2b2841d35274f653881f37190e16b95a75
-SIZE (flame-blis-0.2.2-6e04f9d_GH0.tar.gz) = 1298944
+TIMESTAMP = 1511836356
+SHA256 (flame-blis-0.2.2g20171127-1f30b13_GH0.tar.gz) = 20b861ad130a20a80dedd1418e8f3420026586218389b7195ccd8516835265a3
+SIZE (flame-blis-0.2.2g20171127-1f30b13_GH0.tar.gz) = 1314083
diff --git a/math/blis/pkg-plist b/math/blis/pkg-plist
index a5cb397184f2..73ae642c2be1 100644
--- a/math/blis/pkg-plist
+++ b/math/blis/pkg-plist
@@ -89,6 +89,9 @@ include/blis/bli_addris.h
include/blis/bli_adds.h
include/blis/bli_adds_mxn.h
include/blis/bli_adds_mxn_uplo.h
+include/blis/bli_arch.h
+include/blis/bli_arch_config.h
+include/blis/bli_arch_config_pre.h
include/blis/bli_auxinfo.h
include/blis/bli_axmyris.h
include/blis/bli_axmys.h
@@ -109,6 +112,7 @@ include/blis/bli_check.h
include/blis/bli_clock.h
include/blis/bli_cntl.h
include/blis/bli_cntx.h
+include/blis/bli_cntx_ind_stage.h
include/blis/bli_complex_macro_defs.h
include/blis/bli_config.h
include/blis/bli_config_macro_defs.h
@@ -130,6 +134,7 @@ include/blis/bli_copyris.h
include/blis/bli_copys.h
include/blis/bli_copys_mxn.h
include/blis/bli_copysc.h
+include/blis/bli_cpuid.h
include/blis/bli_dlamch.h
include/blis/bli_dotjs.h
include/blis/bli_dots.h
@@ -139,6 +144,16 @@ include/blis/bli_error.h
include/blis/bli_error_macro_defs.h
include/blis/bli_extern_defs.h
include/blis/bli_f2c.h
+%%X8664%%include/blis/bli_family_bulldozer.h
+%%X8664%%include/blis/bli_family_excavator.h
+include/blis/bli_family_generic.h
+%%X8664%%include/blis/bli_family_haswell.h
+%%X8664%%include/blis/bli_family_penryn.h
+%%X8664%%include/blis/bli_family_piledriver.h
+%%X8664%%include/blis/bli_family_sandybridge.h
+%%X8664%%include/blis/bli_family_steamroller.h
+%%X8664%%include/blis/bli_family_x86_64.h
+%%X8664%%include/blis/bli_family_zen.h
include/blis/bli_fprints.h
include/blis/bli_func.h
include/blis/bli_gemm.h
@@ -146,9 +161,6 @@ include/blis/bli_gemm_cntl.h
include/blis/bli_gemm_front.h
include/blis/bli_gemm_int.h
include/blis/bli_gemm_var.h
-include/blis/bli_gemmind_cntx.h
-include/blis/bli_gemmind_ukr_ref.h
-include/blis/bli_gemmtrsmind_x_ukr_ref.h
include/blis/bli_gemv.h
include/blis/bli_gemv_var.h
include/blis/bli_genarray_macro_defs.h
@@ -185,57 +197,45 @@ include/blis/bli_invscaljris.h
include/blis/bli_invscaljs.h
include/blis/bli_invscalris.h
include/blis/bli_invscals.h
-include/blis/bli_kernel.h
-include/blis/bli_kernel_1m_macro_defs.h
-include/blis/bli_kernel_3m1_macro_defs.h
-include/blis/bli_kernel_3m2_macro_defs.h
-include/blis/bli_kernel_3m3_macro_defs.h
-include/blis/bli_kernel_3mh_macro_defs.h
-include/blis/bli_kernel_4m1_macro_defs.h
-include/blis/bli_kernel_4mb_macro_defs.h
-include/blis/bli_kernel_4mh_macro_defs.h
-include/blis/bli_kernel_ind_macro_defs.h
-include/blis/bli_kernel_ind_pre_macro_defs.h
include/blis/bli_kernel_macro_defs.h
-include/blis/bli_kernel_pre_macro_defs.h
-include/blis/bli_kernel_prototypes.h
+%%X8664%%include/blis/bli_kernels_bulldozer.h
+%%X8664%%include/blis/bli_kernels_haswell.h
+%%X8664%%include/blis/bli_kernels_penryn.h
+%%X8664%%include/blis/bli_kernels_piledriver.h
+%%X8664%%include/blis/bli_kernels_sandybridge.h
include/blis/bli_l0.h
include/blis/bli_l0_check.h
include/blis/bli_l0_oapi.h
include/blis/bli_l0_tapi.h
include/blis/bli_l1d.h
include/blis/bli_l1d_check.h
-include/blis/bli_l1d_cntx.h
include/blis/bli_l1d_oapi.h
include/blis/bli_l1d_tapi.h
include/blis/bli_l1f.h
include/blis/bli_l1f_check.h
-include/blis/bli_l1f_cntx.h
include/blis/bli_l1f_ft.h
include/blis/bli_l1f_ker.h
+include/blis/bli_l1f_ker_prot.h
include/blis/bli_l1f_oapi.h
-include/blis/bli_l1f_ref.h
include/blis/bli_l1f_tapi.h
include/blis/bli_l1m.h
include/blis/bli_l1m_check.h
-include/blis/bli_l1m_cntx.h
include/blis/bli_l1m_ft.h
include/blis/bli_l1m_ker.h
+include/blis/bli_l1m_ker_prot.h
include/blis/bli_l1m_oapi.h
include/blis/bli_l1m_tapi.h
include/blis/bli_l1m_unb_var1.h
include/blis/bli_l1m_voft.h
include/blis/bli_l1v.h
include/blis/bli_l1v_check.h
-include/blis/bli_l1v_cntx.h
include/blis/bli_l1v_ft.h
include/blis/bli_l1v_ker.h
+include/blis/bli_l1v_ker_prot.h
include/blis/bli_l1v_oapi.h
-include/blis/bli_l1v_ref.h
include/blis/bli_l1v_tapi.h
include/blis/bli_l2.h
include/blis/bli_l2_check.h
-include/blis/bli_l2_cntx.h
include/blis/bli_l2_ft.h
include/blis/bli_l2_oapi.h
include/blis/bli_l2_tapi.h
@@ -243,13 +243,13 @@ include/blis/bli_l3.h
include/blis/bli_l3_blocksize.h
include/blis/bli_l3_check.h
include/blis/bli_l3_cntl.h
-include/blis/bli_l3_cntx.h
include/blis/bli_l3_direct.h
include/blis/bli_l3_ft.h
include/blis/bli_l3_ind.h
include/blis/bli_l3_ind_oapi.h
include/blis/bli_l3_ind_opt.h
include/blis/bli_l3_ind_tapi.h
+include/blis/bli_l3_ind_ukr.h
include/blis/bli_l3_oapi.h
include/blis/bli_l3_oft.h
include/blis/bli_l3_packm.h
@@ -258,7 +258,7 @@ include/blis/bli_l3_tapi.h
include/blis/bli_l3_thrinfo.h
include/blis/bli_l3_ukr.h
include/blis/bli_l3_ukr_oapi.h
-include/blis/bli_l3_ukr_ref.h
+include/blis/bli_l3_ukr_prot.h
include/blis/bli_l3_ukr_tapi.h
include/blis/bli_l3_var_oft.h
include/blis/bli_l3_voft.h
@@ -284,29 +284,17 @@ include/blis/bli_obj_macro_defs.h
include/blis/bli_obj_scalar.h
include/blis/bli_opid.h
include/blis/bli_packm.h
-include/blis/bli_packm_1er_macro_defs.h
-include/blis/bli_packm_3mis_macro_defs.h
-include/blis/bli_packm_4mi_macro_defs.h
include/blis/bli_packm_blk_var1.h
include/blis/bli_packm_check.h
include/blis/bli_packm_cntl.h
-include/blis/bli_packm_cntx.h
include/blis/bli_packm_cxk.h
-include/blis/bli_packm_cxk_1e_ref.h
include/blis/bli_packm_cxk_1er.h
-include/blis/bli_packm_cxk_1r_ref.h
include/blis/bli_packm_cxk_3mis.h
-include/blis/bli_packm_cxk_3mis_ref.h
include/blis/bli_packm_cxk_4mi.h
-include/blis/bli_packm_cxk_4mi_ref.h
-include/blis/bli_packm_cxk_ref.h
include/blis/bli_packm_cxk_rih.h
-include/blis/bli_packm_cxk_rih_ref.h
-include/blis/bli_packm_ind_pre_macro_defs.h
include/blis/bli_packm_init.h
include/blis/bli_packm_int.h
include/blis/bli_packm_part.h
-include/blis/bli_packm_rih_macro_defs.h
include/blis/bli_packm_struc_cxk.h
include/blis/bli_packm_struc_cxk_1er.h
include/blis/bli_packm_struc_cxk_3mis.h
@@ -406,8 +394,6 @@ include/blis/bli_trsm_cntl.h
include/blis/bli_trsm_front.h
include/blis/bli_trsm_int.h
include/blis/bli_trsm_var.h
-include/blis/bli_trsmind_cntx.h
-include/blis/bli_trsmind_x_ukr_ref.h
include/blis/bli_trsv.h
include/blis/bli_trsv_var.h
include/blis/bli_type_defs.h
@@ -416,7 +402,6 @@ include/blis/bli_unpackm_blk_var1.h
include/blis/bli_unpackm_check.h
include/blis/bli_unpackm_cntl.h
include/blis/bli_unpackm_cxk.h
-include/blis/bli_unpackm_cxk_ref.h
include/blis/bli_unpackm_int.h
include/blis/bli_unpackm_unb_var1.h
include/blis/bli_util.h