Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Nov 2020 09:00:45 +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: r554357 - in head/math/onednn: . files
Message-ID:  <202011070900.0A790j0e098541@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Sat Nov  7 09:00:44 2020
New Revision: 554357
URL: https://svnweb.freebsd.org/changeset/ports/554357

Log:
  math/onednn: Add CPU_RUNTIME options; Change cmake variables to defined cmake optons.

Deleted:
  head/math/onednn/files/patch-CMakeLists.txt
Modified:
  head/math/onednn/Makefile

Modified: head/math/onednn/Makefile
==============================================================================
--- head/math/onednn/Makefile	Sat Nov  7 09:00:29 2020	(r554356)
+++ head/math/onednn/Makefile	Sat Nov  7 09:00:44 2020	(r554357)
@@ -3,7 +3,7 @@
 PORTNAME=	onednn
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.7
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	math # machine-learning
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -23,16 +23,19 @@ GH_ACCOUNT=	oneapi-src
 GH_PROJECT=	oneDNN
 USE_LDCONFIG=	yes
 
-CMAKE_OFF=	BUILD_TESTING
+CMAKE_OFF=	DNNL_BUILD_TESTS DNNL_BUILD_EXAMPLES
 
-OPTIONS_DEFINE=		OPENMP
-OPTIONS_DEFAULT=	OPENMP SIMD_DEFAULT
-OPTIONS_SINGLE=		SIMD
-OPTIONS_SINGLE_SIMD=	SIMD_DEFAULT SIMD_NATIVE
+OPTIONS_DEFAULT=		SIMD_DEFAULT OPENMP
+OPTIONS_SINGLE=			SIMD CPU_RUNTIME
+OPTIONS_SINGLE_SIMD=		SIMD_DEFAULT SIMD_NATIVE
+OPTIONS_SINGLE_CPU_RUNTIME=	OPENMP TBB SEQ THREADPOOL_STANDALONE THREADPOOL_EIGEN THREADPOOL_TBB
+CPU_RUNTIME_DESC=		Threading runtime for CPU engines
 
-OPENMP_CMAKE_BOOL=	USE_OPENMP
-OPENMP_BROKEN_OFF=	still requires omp.h, see https://github.com/intel/mkl-dnn/issues/581
+OPENMP_CMAKE_ON=	-DDNNL_CPU_RUNTIME=OMP
 
+SEQ_DESC=		Sequential (no parallelism)
+SEQ_CMAKE_ON=		-DDNNL_CPU_RUNTIME=SEQ
+
 SIMD_DEFAULT_DESC=	Default, no non-default SIMD instructions are used
 
 SIMD_NATIVE_DESC=	Optimize for this CPU
@@ -41,13 +44,26 @@ SIMD_NATIVE_CXXFLAGS=	-march=native
 SIMD_SSE41_DESC=	Use SSE4.1 instructions
 SIMD_SSE41_CXXFLAGS=	-msse4.1
 
+TBB_DESC=		Threading Building Blocks
+TBB_CMAKE_ON=		-DDNNL_CPU_RUNTIME=TBB
+TBB_BROKEN=		https://github.com/oneapi-src/oneDNN/issues/876
+
+THREADPOOL_STANDALONE_DESC=	Threadpool based on the standalone implementation
+THREADPOOL_STANDALONE_CMAKE_ON=	-DDNNL_CPU_RUNTIME=THREADPOOL -D_DNNL_TEST_THREADPOOL_IMPL=STANDALONE
+THREADPOOL_STANDALONE_BROKEN=	https://github.com/oneapi-src/oneDNN/issues/877
+THREADPOOL_EIGEN_DESC=		Threadpool based on the Eigen implementation
+THREADPOOL_EIGEN_CMAKE_ON=	-DDNNL_CPU_RUNTIME=THREADPOOL -D_DNNL_TEST_THREADPOOL_IMPL=EIGEN
+THREADPOOL_TBB_DESC=		Threadpool based on the TBB implementation
+THREADPOOL_TBB_CMAKE_ON=	-DDNNL_CPU_RUNTIME=THREADPOOL -D_DNNL_TEST_THREADPOOL_IMPL=TBB
+THREADPOOL_TBB_BROKEN=		https://github.com/oneapi-src/oneDNN/issues/876
+
 ARCH_LOCAL!=	/usr/bin/uname -p # because OPTIONS_SINGLE_SIMD doesn't support per-ARCH values OPTIONS_SINGLE_SIMD_{arch}, like OPTIONS_DEFINE_{arch}
 
 .if ${ARCH_LOCAL} == i386 || ${ARCH_LOCAL} == amd64
 OPTIONS_SINGLE_SIMD+=	SIMD_SSE41
 .endif
 
-CXXFLAGS:=	${CXXFLAGS:S/-O2/-O3/} # clang writes wrong binary code when -O2 optimization is used and one testcase is failing, see https://github.com/oneapi-src/oneDNN/issues/873#issuecomment-722778910
+CXXFLAGS:=	${CXXFLAGS:S/-O2/-O3/} # clang writes wrong binary code when -O2 optimization is used and one testcase is failing, see https://bugs.llvm.org/show_bug.cgi?id=48104
 
 post-install:
 	@${RM} -r ${STAGEDIR}${PREFIX}/share/doc
@@ -55,7 +71,7 @@ post-install:
 do-test: # some tests are known to fail: https://github.com/intel/mkl-dnn/issues/350 (the upstream failed to reproduce it and closed the report)
 	@${REINPLACE_CMD} 's| /bin/bash | ${LOCALBASE}/bin/bash |' ${WRKSRC}/tests/CMakeLists.txt
 	@cd ${BUILD_WRKSRC} && \
-		${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DBUILD_TESTING=ON ${CMAKE_SOURCE_PATH} && \
+		${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DDNNL_BUILD_TESTS=ON ${CMAKE_SOURCE_PATH} && \
 		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
 		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test
 



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