From owner-svn-ports-head@freebsd.org Tue Dec 12 02:49:58 2017 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 13DE3E8896E; Tue, 12 Dec 2017 02:49:58 +0000 (UTC) (envelope-from jmd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BEB3866B06; Tue, 12 Dec 2017 02:49:57 +0000 (UTC) (envelope-from jmd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vBC2nuvC094964; Tue, 12 Dec 2017 02:49:56 GMT (envelope-from jmd@FreeBSD.org) Received: (from jmd@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vBC2nus8094961; Tue, 12 Dec 2017 02:49:56 GMT (envelope-from jmd@FreeBSD.org) Message-Id: <201712120249.vBC2nus8094961@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jmd set sender to jmd@FreeBSD.org using -f From: Johannes M Dieterich Date: Tue, 12 Dec 2017 02:49:56 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r456082 - head/math/blis X-SVN-Group: ports-head X-SVN-Commit-Author: jmd X-SVN-Commit-Paths: head/math/blis X-SVN-Commit-Revision: 456082 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Dec 2017 02:49:58 -0000 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@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 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