summaryrefslogtreecommitdiff
path: root/sci-ml/FBGEMM
diff options
context:
space:
mode:
Diffstat (limited to 'sci-ml/FBGEMM')
-rw-r--r--sci-ml/FBGEMM/FBGEMM-2023.12.04.ebuild77
-rw-r--r--sci-ml/FBGEMM/Manifest4
-rw-r--r--sci-ml/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch69
-rw-r--r--sci-ml/FBGEMM/metadata.xml11
4 files changed, 161 insertions, 0 deletions
diff --git a/sci-ml/FBGEMM/FBGEMM-2023.12.04.ebuild b/sci-ml/FBGEMM/FBGEMM-2023.12.04.ebuild
new file mode 100644
index 000000000000..a9034b8d893f
--- /dev/null
+++ b/sci-ml/FBGEMM/FBGEMM-2023.12.04.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-any-r1 flag-o-matic cmake
+
+CommitId=dbc3157bf256f1339b3fa1fef2be89ac4078be0e
+
+DESCRIPTION="Facebook GEneral Matrix Multiplication"
+HOMEPAGE="https://github.com/pytorch/FBGEMM"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="doc test"
+
+DEPEND="
+ >=dev-libs/asmjit-2022.07.02
+ dev-libs/cpuinfo
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ dev-python/breathe[${PYTHON_USEDEP}]
+ ')
+ )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
+ "dev-python/breathe[${PYTHON_USEDEP}]"
+ fi
+}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.11.02-gentoo.patch
+)
+
+src_prepare() {
+ # Bug #855668
+ filter-lto
+
+ sed -i \
+ -e "/-Werror/d" \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFBGEMM_LIBRARY_TYPE=shared
+ -DFBGEMM_BUILD_BENCHMARKS=OFF
+ -DFBGEMM_BUILD_DOCS=$(usex doc ON OFF)
+ -DFBGEMM_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ OMP_STACKSIZE=512k cmake_src_test
+}
diff --git a/sci-ml/FBGEMM/Manifest b/sci-ml/FBGEMM/Manifest
new file mode 100644
index 000000000000..b7524cbfa0b0
--- /dev/null
+++ b/sci-ml/FBGEMM/Manifest
@@ -0,0 +1,4 @@
+AUX FBGEMM-2023.11.02-gentoo.patch 2162 BLAKE2B c585ac736dc1494820e778dbba951a340b01cc60d99fe5c308bb140d42a0af8f6c05273963e0dd99a7f1ad2dc9af854702bdadf5b2682c5a959a0e742d22c772 SHA512 296d4f15e4047e98a0ccf7a3d23a9661ca2be8f4599d4dd5541f6e728f181cf58e836f09382ef2ed69792d1c9da3146a57cbce9041f7a43ab5354e641551f9fd
+DIST FBGEMM-2023.12.04.tar.gz 1004231 BLAKE2B 930ae36f4761901e1b22d7ce4a341f051158a23646bd1f5309f6eb98c1ca483e8aa4e5a6cfc44ced702f73f84e3398c1439799457a98d0d8a009702e335d5c03 SHA512 3c786572b4a69af2a32b360711014469ded69be580d0079ba79ab81cbaa964aab51e5a189e24f0ec7dc93402d761167898918a0ea0f86d556cad4b99f5858d8c
+EBUILD FBGEMM-2023.12.04.ebuild 1499 BLAKE2B 132cc8471c4e3ae7fbd0188030b01c0124c95eb948d3dfbfc45d0592e1269204527e817264c17794f61a2412401e261385c03291507ad31d409735cd20098520 SHA512 596df7683f2d39829eada1a8a6ecd17cede5bbb8f18153be58f3b4999fd420167df184d9e17612bbf6475feca091445aa4b701eb0c56624be44a532eae35c193
+MISC metadata.xml 327 BLAKE2B 860b9c0ecb3b0029c855db0a0054590135f3bd6ec9dad20cdf433fc70c119354518eea50fdbb2a204eb8cc6621de23e6928a2f9ec961ac0c51fd9dae22fa8488 SHA512 3a0d5a69421a41e62ce134636025e0024010c1938ee35f7489d8d870d915a66cd526aa60d107a378dc4522ff71b7f10486e20867c8b424b1b47e458988ebff58
diff --git a/sci-ml/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch b/sci-ml/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch
new file mode 100644
index 000000000000..6ff4950211a2
--- /dev/null
+++ b/sci-ml/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch
@@ -0,0 +1,69 @@
+--- a/CMakeLists.txt 2022-05-21 13:13:50.806813151 +0200
++++ b/CMakeLists.txt 2022-05-21 13:16:46.448969453 +0200
+@@ -225,7 +225,7 @@
+ message(WARNING "CMAKE_CXX_FLAGS_RELEASE is ${CMAKE_CXX_FLAGS_RELEASE}")
+ message(WARNING "==========")
+
+-if(NOT TARGET asmjit)
++if(FALSE)
+ #Download asmjit from github if ASMJIT_SRC_DIR is not specified.
+ if(NOT DEFINED ASMJIT_SRC_DIR)
+ set(ASMJIT_SRC_DIR "${FBGEMM_SOURCE_DIR}/third_party/asmjit"
+@@ -254,7 +254,7 @@
+ endif()
+ endif()
+
+-if(NOT TARGET cpuinfo)
++if(FALSE)
+ #Download cpuinfo from github if CPUINFO_SOURCE_DIR is not specified.
+ if(NOT DEFINED CPUINFO_SOURCE_DIR)
+ set(CPUINFO_SOURCE_DIR "${FBGEMM_SOURCE_DIR}/third_party/cpuinfo"
+@@ -330,9 +330,6 @@
+ target_link_libraries(fbgemm
+ $<BUILD_INTERFACE:asmjit>
+ $<BUILD_INTERFACE:cpuinfo>)
+-add_dependencies(fbgemm
+- asmjit
+- cpuinfo)
+
+ if(OpenMP_FOUND)
+ target_link_libraries(fbgemm OpenMP::OpenMP_CXX)
+@@ -349,6 +346,9 @@
+ FILES ${FBGEMM_PUBLIC_HEADERS}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/fbgemm")
+
++install(FILES src/RefImplementations.h
++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/fbgemm/src")
++
+ install(
+ EXPORT fbgemmLibraryConfig
+ DESTINATION share/cmake/fbgemm
+--- a/test/CMakeLists.txt 2022-05-21 13:15:34.140135199 +0200
++++ b/test/CMakeLists.txt 2022-05-21 13:17:59.170813431 +0200
+@@ -8,7 +8,7 @@
+ set(CMAKE_C_EXTENSIONS OFF)
+ set(CMAKE_C_STANDARD_REQUIRED ON)
+
+-if(FBGEMM_BUILD_TESTS AND NOT TARGET gtest)
++if(FALSE)
+ #Download Googletest framework from github if
+ #GOOGLETEST_SOURCE_DIR is not specified.
+ if(NOT DEFINED GOOGLETEST_SOURCE_DIR)
+@@ -72,7 +72,6 @@
+ target_link_libraries(${TESTNAME} ${OpenMP_CXX_LIBRARIES})
+ endif()
+
+- add_dependencies(${TESTNAME} gtest fbgemm)
+ add_test(${TESTNAME} ${TESTNAME})
+ set_target_properties(${TESTNAME} PROPERTIES FOLDER test)
+ endmacro()
+--- a/src/PackMatrix.cc 2022-05-24 08:19:00.639462626 +0200
++++ b/src/PackMatrix.cc 2022-05-24 08:27:59.127720548 +0200
+@@ -30,6 +30,7 @@
+ }
+
+ template <typename PT, typename inpType, typename accType>
++FBGEMM_API
+ int PackMatrix<PT, inpType, accType>::packedBufferSize(
+ int rows,
+ int cols,
diff --git a/sci-ml/FBGEMM/metadata.xml b/sci-ml/FBGEMM/metadata.xml
new file mode 100644
index 000000000000..b13a1c693d1f
--- /dev/null
+++ b/sci-ml/FBGEMM/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/FBGEMM</remote-id>
+ </upstream>
+</pkgmetadata>