Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Sep 2018 17:44:47 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
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
Message-ID:  <201809201744.w8KHill7042584@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.port.mk>

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201809201744.w8KHill7042584>