From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id E93CC158020 for ; Thu, 1 Dec 2022 21:39:41 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D88A7E08A0; Thu, 1 Dec 2022 21:39:40 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B64FEE08A0 for ; Thu, 1 Dec 2022 21:39:40 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id CC12E340F97 for ; Thu, 1 Dec 2022 21:39:39 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 5B6B076F for ; Thu, 1 Dec 2022 21:39:38 +0000 (UTC) From: "Andrew Ammerlaan" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andrew Ammerlaan" Message-ID: <1669930772.7be9956c54ca0e17129298337f375aa9de057321.andrewammerlaan@gentoo> Subject: [gentoo-commits] proj/sci:master commit in: dev-libs/oneCCL/files/, dev-libs/oneCCL/ X-VCS-Repository: proj/sci X-VCS-Files: dev-libs/oneCCL/files/oneCCL-2021.7.1-use-system-libs.patch dev-libs/oneCCL/metadata.xml dev-libs/oneCCL/oneCCL-2021.7.1.ebuild X-VCS-Directories: dev-libs/oneCCL/files/ dev-libs/oneCCL/ X-VCS-Committer: andrewammerlaan X-VCS-Committer-Name: Andrew Ammerlaan X-VCS-Revision: 7be9956c54ca0e17129298337f375aa9de057321 X-VCS-Branch: master Date: Thu, 1 Dec 2022 21:39:38 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: cd710d62-e69a-480e-9df4-e0563a76ebc1 X-Archives-Hash: 5de777fb33b96b4f16bf21073132b37a commit: 7be9956c54ca0e17129298337f375aa9de057321 Author: Andrew Ammerlaan gentoo org> AuthorDate: Thu Dec 1 21:38:20 2022 +0000 Commit: Andrew Ammerlaan gentoo org> CommitDate: Thu Dec 1 21:39:32 2022 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=7be9956c dev-libs/oneCCL: new package, add 2021.7.1 Signed-off-by: Andrew Ammerlaan gentoo.org> .../files/oneCCL-2021.7.1-use-system-libs.patch | 102 +++++++++++++++++++++ dev-libs/oneCCL/metadata.xml | 11 +++ dev-libs/oneCCL/oneCCL-2021.7.1.ebuild | 54 +++++++++++ 3 files changed, 167 insertions(+) diff --git a/dev-libs/oneCCL/files/oneCCL-2021.7.1-use-system-libs.patch b/dev-libs/oneCCL/files/oneCCL-2021.7.1-use-system-libs.patch new file mode 100644 index 000000000..0f9a785b4 --- /dev/null +++ b/dev-libs/oneCCL/files/oneCCL-2021.7.1-use-system-libs.patch @@ -0,0 +1,102 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 74c4fc0..92c4d16 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,15 +87,13 @@ add_definitions(-DCCL_CXX_COMPILER="${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILE + SET(CCL_ENABLE_ZE OFF CACHE BOOL "Enable Level Zero support") + + set(CCL_COMMON_INSTALL_PREFIX "intel64") +-set(CMAKE_INSTALL_LIBDIR "lib") + set(CCL_INSTALL_LIB "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + set(CCL_INSTALL_INCLUDE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") + set(CCL_INSTALL_DOC "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}") + set(CCL_INSTALL_BIN "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") +-set(CCL_INSTALL_ENV "${CMAKE_INSTALL_PREFIX}/env") +-set(CCL_INSTALL_ETC "${CMAKE_INSTALL_PREFIX}/etc") +-set(CCL_INSTALL_LICENSE "${CMAKE_INSTALL_PREFIX}/licensing") +-set(CCL_INSTALL_MODULE "${CMAKE_INSTALL_PREFIX}/modulefiles") ++set(CCL_INSTALL_ENV "${CMAKE_INSTALL_FULL_SYSCONFDIR}/env") ++set(CCL_INSTALL_ETC "${CMAKE_INSTALL_FULL_SYSCONFDIR}") ++set(CCL_INSTALL_MODULE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/modulefiles") + set(CCL_INSTALL_EXAMPLES "${CMAKE_INSTALL_PREFIX}/examples") + set(CCL_INSTALL_TESTS "${CMAKE_INSTALL_PREFIX}/tests") + set(CCL_INSTALL_KERNELS "${CMAKE_INSTALL_PREFIX}/lib/kernels") +@@ -103,23 +101,23 @@ set(CCL_INSTALL_KERNELS "${CMAKE_INSTALL_PREFIX}/lib/kernels") + # setup dependency directories + set(DEPS_DIR "${PROJECT_SOURCE_DIR}/deps") + +-set(MPI_INCLUDE_DIR "${DEPS_DIR}/mpi/include/") +-set(MPI_LIB_DIR "${DEPS_DIR}/mpi/lib/") ++set(MPI_INCLUDE_DIR "/usr/include/") ++set(MPI_LIB_DIR "/usr/lib64/") + message(STATUS "MPI_INCLUDE_DIR: ${MPI_INCLUDE_DIR}") + message(STATUS "MPI_LIB_DIR: ${MPI_LIB_DIR}") + + if ("${LIBFABRIC_DIR}" STREQUAL "") +- set(LIBFABRIC_INCLUDE_DIR "${DEPS_DIR}/ofi/include") +- set(LIBFABRIC_LIB_DIR "${DEPS_DIR}/ofi/lib/") ++ set(LIBFABRIC_INCLUDE_DIR "${DEPS_DIR}/ofi/include/") ++ set(LIBFABRIC_LIB_DIR "${DEPS_DIR}/ofi/lib64/") + else() + set(LIBFABRIC_INCLUDE_DIR "${LIBFABRIC_DIR}/include/") +- set(LIBFABRIC_LIB_DIR "${LIBFABRIC_DIR}/lib") ++ set(LIBFABRIC_LIB_DIR "${LIBFABRIC_DIR}/lib64/") + endif() + message(STATUS "LIBFABRIC_LIB_DIR: ${LIBFABRIC_LIB_DIR}") + message(STATUS "LIBFABRIC_INCLUDE_DIR: ${LIBFABRIC_INCLUDE_DIR}") + +-set(HWLOC_INCLUDE_DIR "${DEPS_DIR}/hwloc/include/") +-set(HWLOC_LIB_DIR "${DEPS_DIR}/hwloc/lib/") ++set(HWLOC_INCLUDE_DIR "/usr/include/") ++set(HWLOC_LIB_DIR "/usr/lib64/") + message(STATUS "HWLOC_INCLUDE_DIR: ${HWLOC_INCLUDE_DIR}") + message(STATUS "HWLOC_LIB_DIR: ${HWLOC_LIB_DIR}") + +@@ -128,7 +126,7 @@ set(ITT_LIB_DIR "${DEPS_DIR}/itt/lib64") + message(STATUS "ITT_INCLUDE_DIR: ${ITT_INCLUDE_DIR}") + message(STATUS "ITT_LIB_DIR: ${ITT_LIB_DIR}") + +-set(LEVEL_ZERO_INCLUDE_DIR "${DEPS_DIR}/level_zero/include/") ++set(LEVEL_ZERO_INCLUDE_DIR "/usr/include/level_zero") + message(STATUS "LEVEL_ZERO_INCLUDE_DIR: ${LEVEL_ZERO_INCLUDE_DIR}") + + set(CMAKE_SKIP_INSTALL_RPATH TRUE) +@@ -241,8 +239,6 @@ configure_file(third-party-programs.txt ${CMAKE_CURRENT_BINARY_DIR}/third-party- + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/vars.sh DESTINATION ${CCL_INSTALL_ENV}) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/setvars.sh DESTINATION ${CCL_INSTALL_ENV}) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/ccl DESTINATION ${CCL_INSTALL_MODULE}) +-install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/third-party-programs.txt DESTINATION ${CCL_INSTALL_LICENSE}) +-install(PROGRAMS ${PROJECT_SOURCE_DIR}/LICENSE DESTINATION ${CCL_INSTALL_LICENSE}) + + # copy kernels + if (COMPUTE_BACKEND AND EXISTS "${PROJECT_SOURCE_DIR}/src/kernels") +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 7b4cff9..7ef00f8 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -263,7 +263,7 @@ list(APPEND SRC_LINK_LIBS + pthread + ${EXTERNAL_LIBS} + fabric +- ${HWLOC_LIB_DIR}/libhwloc.a ++ ${HWLOC_LIB_DIR}/libhwloc.so + ${ITT_LIB_DIR}/libittnotify.a) + + if (ENABLE_MPI) +@@ -335,16 +335,3 @@ if ("${LIBFABRIC_DIR}" STREQUAL "") + install(DIRECTORY ${DEPS_DIR}/ofi/lib/ + DESTINATION ${CCL_INSTALL_LIB}) + endif() +- +-if (ENABLE_MPI) +- file(GLOB mpi_bins "${DEPS_DIR}/mpi/bin/*") +- install(PROGRAMS ${mpi_bins} DESTINATION ${CCL_INSTALL_BIN}) +- install(DIRECTORY ${DEPS_DIR}/mpi/include/ +- DESTINATION ${CCL_INSTALL_INCLUDE}) +- install(DIRECTORY ${DEPS_DIR}/mpi/lib/ +- DESTINATION ${CCL_INSTALL_LIB}) +- install(DIRECTORY ${DEPS_DIR}/mpi/etc/ +- DESTINATION ${CCL_INSTALL_ETC}) +- install(DIRECTORY ${DEPS_DIR}/mpi/licensing/ +- DESTINATION ${CCL_INSTALL_LICENSE}/mpi/) +-endif() diff --git a/dev-libs/oneCCL/metadata.xml b/dev-libs/oneCCL/metadata.xml new file mode 100644 index 000000000..ad55412d9 --- /dev/null +++ b/dev-libs/oneCCL/metadata.xml @@ -0,0 +1,11 @@ + + + + + andrewammerlaan@gentoo.org + Andrew Ammerlaan + + + oneapi-src/oneCCL + + diff --git a/dev-libs/oneCCL/oneCCL-2021.7.1.ebuild b/dev-libs/oneCCL/oneCCL-2021.7.1.ebuild new file mode 100644 index 000000000..ae069bb2a --- /dev/null +++ b/dev-libs/oneCCL/oneCCL-2021.7.1.ebuild @@ -0,0 +1,54 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="oneAPI Collective Communications Library" +HOMEPAGE="https://github.com/oneapi-src/oneCCL" +SRC_URI="https://github.com/oneapi-src/oneCCL/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="mpi" + +DEPEND=" + dev-libs/level-zero + sys-apps/hwloc + sys-block/libfabric + mpi? ( virtual/mpi ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-2021.7.1-use-system-libs.patch" +) + +src_prepare() { + # No -Werror + find . -name "CMakeLists.txt" -exec sed -i "s/-Werror//g" {} + || die + + # Use system libs instead + rm -r deps/hwloc deps/level_zero deps/mpi deps/ofi || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DBUILD_EXAMPLES=OFF + # BUILD_CONFIG causes sandbox violation + -DBUILD_CONFIG=OFF + -DCCL_ENABLE_ZE=ON + # TODO: Find out how to execute the tests + -DBUILD_FT=OFF + -DENABLE_MPI_TESTS=OFF + -DENABLE_MPI="$(usex mpi)" + # Use system fabric + -DLIBFABRIC_DIR="${ESYSROOT}/usr" + ) + cmake_src_configure +}