svn commit: r456082 - head/math/blis
Johannes M Dieterich
jmd at FreeBSD.org
Tue Dec 12 02:49:58 UTC 2017
Author: jmd
Date: Tue Dec 12 02:49:56 2017
New Revision: 456082
URL: https://svnweb.freebsd.org/changeset/ports/456082
Log:
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
Modified:
head/math/blis/Makefile
head/math/blis/distinfo
head/math/blis/pkg-plist
Modified: head/math/blis/Makefile
==============================================================================
--- head/math/blis/Makefile Tue Dec 12 02:48:14 2017 (r456081)
+++ head/math/blis/Makefile Tue Dec 12 02:49:56 2017 (r456082)
@@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME= blis
-PORTVERSION= 0.2.2
-PORTREVISION= 1
+LIBVERSION= 0.2.2
+PORTVERSION= ${LIBVERSION}g20171127
CATEGORIES= math
MAINTAINER= jmd at FreeBSD.org
@@ -12,31 +12,23 @@ COMMENT= Software framework for high-performance BLAS-
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>
Modified: head/math/blis/distinfo
==============================================================================
--- head/math/blis/distinfo Tue Dec 12 02:48:14 2017 (r456081)
+++ head/math/blis/distinfo Tue Dec 12 02:49:56 2017 (r456082)
@@ -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
Modified: head/math/blis/pkg-plist
==============================================================================
--- head/math/blis/pkg-plist Tue Dec 12 02:48:14 2017 (r456081)
+++ head/math/blis/pkg-plist Tue Dec 12 02:49:56 2017 (r456082)
@@ -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
More information about the svn-ports-all
mailing list