From owner-svn-ports-all@freebsd.org Sat Nov 7 09:00:45 2020 Return-Path: Delivered-To: svn-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A08112E8AF6; Sat, 7 Nov 2020 09:00:45 +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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CSrnn3BZQz4WlC; Sat, 7 Nov 2020 09:00:45 +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 5C5183DE0; Sat, 7 Nov 2020 09:00:45 +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 0A790jx8098542; Sat, 7 Nov 2020 09:00:45 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0A790j0e098541; Sat, 7 Nov 2020 09:00:45 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <202011070900.0A790j0e098541@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Sat, 7 Nov 2020 09:00:45 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r554357 - in head/math/onednn: . files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/math/onednn: . files X-SVN-Commit-Revision: 554357 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Nov 2020 09:00:45 -0000 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