From owner-svn-ports-head@freebsd.org Thu Sep 20 17:44:49 2018 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AB07010A3B8A; Thu, 20 Sep 2018 17:44:49 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5CC9A769EC; Thu, 20 Sep 2018 17:44:49 +0000 (UTC) (envelope-from yuri@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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5320421369; Thu, 20 Sep 2018 17:44:49 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w8KHina6042591; Thu, 20 Sep 2018 17:44:49 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w8KHill7042584; Thu, 20 Sep 2018 17:44:47 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <201809201744.w8KHill7042584@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Thu, 20 Sep 2018 17:44:47 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r480184 - in head/math: . libxsmm libxsmm/files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/math: . libxsmm libxsmm/files X-SVN-Commit-Revision: 480184 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.27 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: Thu, 20 Sep 2018 17:44:49 -0000 Author: yuri Date: Thu Sep 20 17:44:47 2018 New Revision: 480184 URL: https://svnweb.freebsd.org/changeset/ports/480184 Log: New port: math/libxsmm: Library for dense and sparse matrix operations and deep learning Added: head/math/libxsmm/ head/math/libxsmm/Makefile (contents, props changed) head/math/libxsmm/distinfo (contents, props changed) head/math/libxsmm/files/ head/math/libxsmm/files/patch-Makefile (contents, props changed) head/math/libxsmm/files/patch-Makefile.inc (contents, props changed) head/math/libxsmm/pkg-descr (contents, props changed) head/math/libxsmm/pkg-plist (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Thu Sep 20 17:25:40 2018 (r480183) +++ head/math/Makefile Thu Sep 20 17:44:47 2018 (r480184) @@ -321,6 +321,7 @@ SUBDIR += libtsnnls SUBDIR += libxls SUBDIR += libxlsxwriter + SUBDIR += libxsmm SUBDIR += linpack SUBDIR += lll_spect SUBDIR += lp_solve Added: head/math/libxsmm/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/libxsmm/Makefile Thu Sep 20 17:44:47 2018 (r480184) @@ -0,0 +1,28 @@ +# $FreeBSD$ + +PORTNAME= libxsmm +DISTVERSION= 1.9 +CATEGORIES= math science + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Library for dense and sparse matrix operations and deep learning + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +BROKEN_i386= LIBXSMM is only supported on a 64-bit platform! + +BUILD_DEPENDS= bash:shells/bash + +USES= fortran gmake localbase:ldflags python:build shebangfix +SHEBANG_GLOB= *.sh +USE_GITHUB= yes +GH_ACCOUNT= hfp +USE_LDCONFIG= yes + +MAKE_ARGS= STATIC=0 DEPSTATIC=0 MAKE_PARALLEL=1 +LDFLAGS+= -lm + +BINARY_ALIAS= python=${PYTHON_CMD} + +.include Added: head/math/libxsmm/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/libxsmm/distinfo Thu Sep 20 17:44:47 2018 (r480184) @@ -0,0 +1,3 @@ +TIMESTAMP = 1537456119 +SHA256 (hfp-libxsmm-1.9_GH0.tar.gz) = cd8532021352b4a0290d209f7f9bfd7c2411e08286a893af3577a43457287bfa +SIZE (hfp-libxsmm-1.9_GH0.tar.gz) = 1881825 Added: head/math/libxsmm/files/patch-Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/libxsmm/files/patch-Makefile Thu Sep 20 17:44:47 2018 (r480184) @@ -0,0 +1,29 @@ +--- Makefile.orig 2018-03-15 13:08:45 UTC ++++ Makefile +@@ -398,7 +398,7 @@ endif + lib: headers drytest lib_hst lib_mic + + .PHONY: all +-all: libxsmm samples ++all: libxsmm + + .PHONY: headers + headers: cheader cheader_only fheader +@@ -1502,7 +1502,7 @@ realclean-all: realclean + + # Dummy prefix + ifneq (,$(strip $(PREFIX))) +-INSTALL_ROOT = $(PREFIX) ++INSTALL_ROOT = $(DESTDIR)$(PREFIX) + else + INSTALL_ROOT = . + endif +@@ -1581,7 +1581,7 @@ ifneq ($(abspath $(INSTALL_ROOT)),$(absp + endif + + .PHONY: install-all +-install-all: install samples ++install-all: install + ifneq ($(abspath $(INSTALL_ROOT)),$(abspath .)) + @echo + @echo "LIBXSMM installing samples..." Added: head/math/libxsmm/files/patch-Makefile.inc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/libxsmm/files/patch-Makefile.inc Thu Sep 20 17:44:47 2018 (r480184) @@ -0,0 +1,26 @@ +--- Makefile.inc.orig 2018-03-15 13:08:45 UTC ++++ Makefile.inc +@@ -53,9 +53,9 @@ MAKE ?= make + ENV ?= env + + ifneq (Darwin,$(UNAME)) +- ifneq (,$(strip $(CP))) +- CP += -u +- endif ++ #ifneq (,$(strip $(CP))) ++ # CP += -u ++ #endif + DLIBEXT ?= so + SLIBEXT ?= a + else +@@ -164,8 +164,8 @@ TBB_OLDRTL ?= 0 + ifneq (Darwin,$(UNAME)) + XGROUP_BEGIN = -Wl,--start-group + XGROUP_END = -Wl,--end-group +- XLIB_BEGIN = -Wl,--as-needed +- XLIB_END = -Wl,--no-as-needed ++ #XLIB_BEGIN = -Wl,--as-needed ++ #XLIB_END = -Wl,--no-as-needed + XRPATH = -Wl,--rpath=$(NULL) + else + XRPATH = -Xlinker -rpath -Xlinker $(NULL) Added: head/math/libxsmm/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/libxsmm/pkg-descr Thu Sep 20 17:44:47 2018 (r480184) @@ -0,0 +1,18 @@ +LIBXSMM is a library for specialized dense and sparse matrix operations as well +as for deep learning primitives such as small convolutions targeting Intel +Architecture. Small matrix multiplication kernels (SMMs) are generated for Intel +SSE, Intel AVX, Intel AVX2, IMCI (KNCni) for Intel Xeon Phi coprocessors (KNC), +and Intel AVX-512 as found in the Intel Xeon Phi processor family (KNL, KNM) and +Intel Xeon processors (SKX). Highly optimized code for small convolutions is +targeting Intel AVX2 and Intel AVX-512, whereas other targets can automatically +leverage specialized SMMs to perform convolutions. + +The library supports statically generated code at configuration time (SMMs), +uses optimized code paths based on compiler-generated code as well as Intrinsic +functions, but mainly utilizes Just-In-Time (JIT) code specialization for +compiler-independent performance (matrix multiplications, matrix transpose/copy, +sparse functionality, and small convolutions). LIBXSMM is suitable for "build +once and deploy everywhere" i.e., no special target flags are needed to exploit +the available performance. + +WWW: https://github.com/hfp/libxsmm Added: head/math/libxsmm/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/libxsmm/pkg-plist Thu Sep 20 17:44:47 2018 (r480184) @@ -0,0 +1,57 @@ +bin/libxsmm_conv_generator +bin/libxsmm_convwino_generator +bin/libxsmm_gemm_generator +include/libxsmm.f +include/libxsmm.h +include/libxsmm.mod +include/libxsmm_bgemm.h +include/libxsmm_config.h +include/libxsmm_cpuid.h +include/libxsmm_dnn.h +include/libxsmm_frontend.h +include/libxsmm_fsspmdm.h +include/libxsmm_generator.h +include/libxsmm_intrinsics_x86.h +include/libxsmm_macros.h +include/libxsmm_malloc.h +include/libxsmm_math.h +include/libxsmm_mhd.h +include/libxsmm_source.h +include/libxsmm_spmdm.h +include/libxsmm_sync.h +include/libxsmm_timer.h +include/libxsmm_typedefs.h +lib/libxsmm.so +lib/libxsmm.so.1 +lib/libxsmm.so.1.9.0 +lib/libxsmmext.so +lib/libxsmmext.so.1 +lib/libxsmmext.so.1.9.0 +lib/libxsmmf.so +lib/libxsmmf.so.1 +lib/libxsmmf.so.1.9.0 +lib/libxsmmgen.so +lib/libxsmmgen.so.1 +lib/libxsmmgen.so.1.9.0 +lib/libxsmmnoblas.so +lib/libxsmmnoblas.so.1 +lib/libxsmmnoblas.so.1.9.0 +%%DATADIR%%/CODE_OF_CONDUCT.md +%%DATADIR%%/CONTRIBUTING.md +%%DATADIR%%/LICENSE.md +%%DATADIR%%/README.md +%%DATADIR%%/cp2k.md +%%DATADIR%%/cp2k.pdf +%%DATADIR%%/index.md +%%DATADIR%%/libxsmm.pdf +%%DATADIR%%/libxsmm_aux.md +%%DATADIR%%/libxsmm_be.md +%%DATADIR%%/libxsmm_dnn.md +%%DATADIR%%/libxsmm_mm.md +%%DATADIR%%/libxsmm_prof.md +%%DATADIR%%/libxsmm_samples.md +%%DATADIR%%/libxsmm_samples.pdf +%%DATADIR%%/libxsmm_tune.md +%%DATADIR%%/tensorflow.md +%%DATADIR%%/tensorflow.pdf +%%DATADIR%%/version.txt