summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-ml/kineto/Manifest1
-rw-r--r--sci-ml/kineto/files/kineto-0.4.0_p20250617-gentoo.patch74
-rw-r--r--sci-ml/kineto/kineto-0.4.0_p20250617.ebuild51
3 files changed, 126 insertions, 0 deletions
diff --git a/sci-ml/kineto/Manifest b/sci-ml/kineto/Manifest
index d09e4e3bc2c0..b18d0acfc144 100644
--- a/sci-ml/kineto/Manifest
+++ b/sci-ml/kineto/Manifest
@@ -1 +1,2 @@
DIST kineto-0.4.0_p20250214.tar.gz 8276188 BLAKE2B 45a07fe6dbfb68dcba4c637851404fbea7e15642b97e30baf8dbce3a9b80a6e0662ce684027aa5a00da0ff86daf028e2ea173451857264e8a5f5800629bdc767 SHA512 614f7ec7e0bcbd816d01b704a85efadd6340a322ebf60920b72717c65034b1ea60cab65243833b651482465fc145211bed25de83592801e4b9e955839f404b20
+DIST kineto-0.4.0_p20250617.tar.gz 8282683 BLAKE2B 91993fef72e04da98ba6443e164876ec475daf5fc3ce34851f2ae968fce00a3650278eac3cb96b940705c4a58aba3b296c0bc2cc9edc54f3a01891d473f07ee8 SHA512 921b96a56e01d69895b79e67582d8977ed6f873573ab41557c5d026ada5d1f6365e4ed0a0c6804057c52e92510749fc58619f554a164c1ba9d8cd13e789bebd0
diff --git a/sci-ml/kineto/files/kineto-0.4.0_p20250617-gentoo.patch b/sci-ml/kineto/files/kineto-0.4.0_p20250617-gentoo.patch
new file mode 100644
index 000000000000..f16f436f0eff
--- /dev/null
+++ b/sci-ml/kineto/files/kineto-0.4.0_p20250617-gentoo.patch
@@ -0,0 +1,74 @@
+--- a/CMakeLists.txt 2022-05-24 11:16:18.537610972 +0200
++++ b/CMakeLists.txt 2022-05-24 11:19:15.011073535 +0200
+@@ -169,7 +169,8 @@
+ CXX_STANDARD_REQUIRED YES
+ CXX_EXTENSIONS NO)
+
+-set(KINETO_COMPILE_OPTIONS "-DKINETO_NAMESPACE=libkineto")
++set(KINETO_COMPILE_OPTIONS "-DKINETO_NAMESPACE=libkineto"
++ ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+ list(APPEND KINETO_COMPILE_OPTIONS "-DFMT_HEADER_ONLY")
+ list(APPEND KINETO_COMPILE_OPTIONS "-DENABLE_IPC_FABRIC")
+ list(APPEND KINETO_COMPILE_OPTIONS)
+@@ -198,7 +200,7 @@
+ target_compile_options(kineto_base PRIVATE "${KINETO_COMPILE_OPTIONS}")
+ target_compile_options(kineto_api PRIVATE "${KINETO_COMPILE_OPTIONS}")
+
+-if(NOT TARGET fmt)
++if(FALSE)
+ if(NOT FMT_SOURCE_DIR)
+ set(FMT_SOURCE_DIR "${LIBKINETO_THIRDPARTY_DIR}/fmt"
+ CACHE STRING "fmt source directory from submodules")
+@@ -216,9 +218,7 @@
+ set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE)
+ endif()
+
+-set(FMT_INCLUDE_DIR "${FMT_SOURCE_DIR}/include")
+ message(STATUS "Kineto: FMT_SOURCE_DIR = ${FMT_SOURCE_DIR}")
+-message(STATUS "Kineto: FMT_INCLUDE_DIR = ${FMT_INCLUDE_DIR}")
+ if (NOT CUPTI_INCLUDE_DIR)
+ set(CUPTI_INCLUDE_DIR "${CUDA_SOURCE_DIR}/extras/CUPTI/include")
+ endif()
+@@ -232,15 +232,14 @@
+ set(ROCM_INCLUDE_DIRS "${ROCM_SOURCE_DIR}/include")
+ endif()
+
+-set(DYNOLOG_INCLUDE_DIR "${LIBKINETO_THIRDPARTY_DIR}/dynolog/")
+-set(IPCFABRIC_INCLUDE_DIR "${DYNOLOG_INCLUDE_DIR}/dynolog/src/ipcfabric/")
++set(DYNOLOG_INCLUDE_DIR "@GENTOO_PORTAGE_EPREFIX@/usr/include/dynolog/")
++set(IPCFABRIC_INCLUDE_DIR "@GENTOO_PORTAGE_EPREFIX@/usr/include/dynolog/src/ipcfabric/")
+
+ message(STATUS " CUPTI_INCLUDE_DIR = ${CUPTI_INCLUDE_DIR}")
+ message(STATUS " ROCTRACER_INCLUDE_DIR = ${ROCTRACER_INCLUDE_DIR}")
+ message(STATUS " DYNOLOG_INCLUDE_DIR = ${DYNOLOG_INCLUDE_DIR}")
+ message(STATUS " IPCFABRIC_INCLUDE_DIR = ${IPCFABRIC_INCLUDE_DIR}")
+
+-add_subdirectory("${IPCFABRIC_INCLUDE_DIR}")
+ target_link_libraries(kineto_base PRIVATE dynolog_ipcfabric_lib)
+
+ target_include_directories(kineto_base PUBLIC
+@@ -247,7 +246,6 @@
+ $<BUILD_INTERFACE:${LIBKINETO_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${LIBKINETO_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${DYNOLOG_INCLUDE_DIR}>
+- $<BUILD_INTERFACE:${FMT_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${IPCFABRIC_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${CUPTI_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${CUDA_INCLUDE_DIRS}>
+@@ -259,7 +259,6 @@
+ endif()
+
+ target_include_directories(kineto_api PUBLIC
+- $<BUILD_INTERFACE:${FMT_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${LIBKINETO_INCLUDE_DIR}>)
+
+ if(KINETO_LIBRARY_TYPE STREQUAL "static")
+@@ -300,8 +297,6 @@
+ if(DEFINED LIBKINETO_NOXPUPTI AND NOT LIBKINETO_NOXPUPTI)
+ target_link_libraries(kineto "${XPU_xpupti_LIBRARY}")
+ endif()
+-target_link_libraries(kineto $<BUILD_INTERFACE:fmt::fmt-header-only>)
+-add_dependencies(kineto fmt::fmt-header-only)
+
+ install(TARGETS kineto EXPORT kinetoLibraryConfig
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/sci-ml/kineto/kineto-0.4.0_p20250617.ebuild b/sci-ml/kineto/kineto-0.4.0_p20250617.ebuild
new file mode 100644
index 000000000000..64e7ec8a5f0d
--- /dev/null
+++ b/sci-ml/kineto/kineto-0.4.0_p20250617.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit python-any-r1 cmake prefix
+
+CommitId=5e7501833f1021ce6f618572d3baf657b6319658
+
+DESCRIPTION="part of the PyTorch Profiler"
+HOMEPAGE="https://github.com/pytorch/kineto"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${CommitId}/libkineto
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/libfmt
+ dev-libs/dynolog
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.0_p20250418-AppxClock.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBKINETO_THIRDPARTY_DIR="${EPREFIX}"/usr/include/
+ -DKINETO_BUILD_TESTS=OFF # tests require cuda toolkit
+ -DCUDA_SOURCE_DIR=/opt/cuda
+ -DLIBKINETO_NOXPUPTI=Yes
+ )
+ eapply $(prefixify_ro "${FILESDIR}"/${P}-gentoo.patch)
+
+ cmake_src_configure
+}