diff options
author | Johannes M Dieterich <jmd@FreeBSD.org> | 2017-12-12 10:49:56 +0800 |
---|---|---|
committer | Johannes M Dieterich <jmd@FreeBSD.org> | 2017-12-12 10:49:56 +0800 |
commit | 95140427864b466ade7b081e1682ba5be2789fa1 (patch) | |
tree | a4879991ad8a0e28c2f654634c7550c2e4ab6c3d /math | |
parent | f7813ae7894bc12f74a2b63d7d789a981234eee5 (diff) | |
download | freebsd-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/Makefile | 55 | ||||
-rw-r--r-- | math/blis/distinfo | 6 | ||||
-rw-r--r-- | math/blis/pkg-plist | 65 |
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 |