commit: 03ad26826550632dbb96033b6b0cb3a3447539af
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 16 18:40:56 2025 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Aug 16 18:40:56 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03ad2682
sci-ml/caffe2: drop 2.5.1-r12, 2.7.0-r3
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
sci-ml/caffe2/Manifest | 2 -
sci-ml/caffe2/caffe2-2.5.1-r12.ebuild | 331 -----------------------
sci-ml/caffe2/caffe2-2.7.0-r3.ebuild | 366 --------------------------
sci-ml/caffe2/files/caffe2-2.5.1-gentoo.patch | 127 ---------
4 files changed, 826 deletions(-)
diff --git a/sci-ml/caffe2/Manifest b/sci-ml/caffe2/Manifest
index cb3c35b99981..2e7e0c634bf9 100644
--- a/sci-ml/caffe2/Manifest
+++ b/sci-ml/caffe2/Manifest
@@ -1,8 +1,6 @@
DIST composable_kernel-50ee4267.tar.gz 4194795 BLAKE2B
b3c97d98a0c9e4620fdae3d30006edf55cc60ffa7f8518f6acb8d808647bc4de362c2e2b7e974686503fa2c7f359b6981cfbda74e40cc1bad4d351c5d2ff92e1
SHA512
9fc6f5f15556f020414b4567520329ef762209a82411a246c2bc1240a9fed2669f7fcb982cf773e3e9561bf9a2c557dba82b8b469d2e5844e679e2f5ab7c3e17
DIST composable_kernel-8086bbe3.tar.gz 4418862 BLAKE2B
b710e3d4586899443ec01044dad19fd2f992c351e2f65ba526dfcc47cc65c095beaf8ac21a8f71c02a0eb524d364e817b27241a9198884f2bdae9924b51e24e4
SHA512
8410b5a1c864d71f3034ef0d9d1245078856d09cc191faec59856c229bf11d89ae291036d735cb5cec4f1d72e6e9e8f6921833147f9619d30cfab8722d3a9f63
DIST flash-attention-2.7.4.gh.tar.gz 5841323 BLAKE2B
432999d763f2b3d732580ddfea5d3e01370351db0656546259a5e500a07516dd03c98828bfb55855dabe4adc651033b5d97ea4725ca46158b9970f0fbc662710
SHA512
05a4afb09e666f7404d6a3f8b5256e7bed6eba60a6f1bde2b7dbb96d318975f0b458c2521c7a38d88e97b6e4c27f29077cf787849daf82586e33f43a3d9a84b3
-DIST pytorch-2.5.1.tar.gz 116091366 BLAKE2B
7838b17562b94ffc7d798031348689db607dd5eae2a3c35be365972e2b52a2c1b12067068d5aca5ab00cf0977d9c2c3c9ae5337d69534c864c732e6256cbeef6
SHA512
a913a466324a65fa3d79c5e9ad4d605fc7976f0134fda2f81aaa3cea29d56926604999b8a238759646d211e63b47bbb446cdffa86ca8defd8159f11e30301289
DIST pytorch-2.6.0.tar.gz 119594438 BLAKE2B
3152eb341cf42295e147e59625beb9c06608aa4b78f9618c1c0024b10c1c767715d07fe8c4be52d029ac47f808cd0d5e65c9530ec90d951a64b993083b4067ad
SHA512
a70da80ff09d226085e18228132cf6bb236ad8cc47eed52375d0d2a615f09dd33849da947270b5670c184eab60cb8e2adf11d801babfbda7aa621400501d07b0
-DIST pytorch-2.7.0.tar.gz 50197290 BLAKE2B
2a317d1e9b0d8876f1593382246cd9f786eff3c1b8602353c5e0010dc8414720c5de61886361843a0c33268830c784963a89b410b361e1b67636e652f6a6a2eb
SHA512
63eb0363ea68d23567f5524ee8b51756d9302bbe1cbefa367335ab5ebe652523dba75fa417ea3e7eedfc67aa4bef1434c8b7e3dfde2152061b91b6e489763a55
DIST pytorch-2.7.1.tar.gz 50203605 BLAKE2B
3f4b2643d86fe9ff30b2f335353dfe6a8e222bcc12143bc5d09268fb37bfd42f9451620e6e0db225c3c3e7930c999115fdd2ed62b7eae93b0d5e233270c7c760
SHA512
a9fc2252af9031c2cd46dde558c491aea8bc322fb80157a7760f300a44b759d4bfe866f030fbb974b80493057cfff4dd512498f99a100ed6d05bf620258ed37e
DIST pytorch-2.8.0.tar.gz 56565754 BLAKE2B
a8f07513b92f9293f8322508f9fc73a462f89fe51cb1f280af371cee19cbe7e2bf900ba2b3c43fd08ea415566db441a6d6310d77f18477e957641be311a361a5
SHA512
448e9dad4aa10f1793d35e6ffe9f0f69b7719d41e6eccceb687a8d0c148e22d03e4f76170a05308ef9323a7aea41aa74605077ae1d68c6d949f13b3340ebf310
diff --git a/sci-ml/caffe2/caffe2-2.5.1-r12.ebuild
b/sci-ml/caffe2/caffe2-2.5.1-r12.ebuild
deleted file mode 100644
index 6b5f88a1e12b..000000000000
--- a/sci-ml/caffe2/caffe2-2.5.1-r12.ebuild
+++ /dev/null
@@ -1,331 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-ROCM_VERSION=6.1
-inherit python-single-r1 cmake cuda flag-o-matic prefix rocm toolchain-funcs
-
-MYPN=pytorch
-MYP=${MYPN}-${PV}
-
-DESCRIPTION="A deep learning framework"
-HOMEPAGE="https://pytorch.org/"
-SRC_URI="https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz
- -> ${MYP}.tar.gz"
-
-S="${WORKDIR}"/${MYP}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="cuda distributed fbgemm flash gloo memefficient mkl mpi nnpack +numpy
- onednn openblas opencl openmp qnnpack rocm xnnpack"
-RESTRICT="test"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- mpi? ( distributed )
- gloo? ( distributed )
- ?? ( cuda rocm )
- rocm? (
- || ( ${ROCM_REQUIRED_USE} )
- !flash
- )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-cpp/abseil-cpp:=
- dev-cpp/gflags:=
- >=dev-cpp/glog-0.5.0
- dev-cpp/nlohmann_json
- dev-cpp/opentelemetry-cpp
- dev-libs/cpuinfo
- dev-libs/libfmt:=
- dev-libs/protobuf:=
- dev-libs/pthreadpool
- dev-libs/sleef
- sci-ml/onnx
- sci-ml/foxi
- virtual/lapack
- cuda? (
- dev-libs/cudnn
- >=sci-ml/cudnn-frontend-1.0.3:0/8
- dev-util/nvidia-cuda-toolkit:=[profiler]
- )
- fbgemm? ( sci-ml/FBGEMM )
- gloo? ( <=sci-ml/gloo-2023.12.03[cuda?] )
- mpi? ( virtual/mpi )
- nnpack? ( sci-ml/NNPACK )
- numpy? ( $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ') )
- onednn? ( =sci-ml/oneDNN-3.5* )
- opencl? ( virtual/opencl )
- qnnpack? (
- !sci-libs/QNNPACK
- sci-ml/gemmlowp
- )
- rocm? (
- =dev-util/hip-6.1*
- =dev-libs/rccl-6.1*
- =sci-libs/rocThrust-6.1*
- =sci-libs/rocPRIM-6.1*
- =sci-libs/hipBLAS-6.1*
- =sci-libs/hipFFT-6.1*
- =sci-libs/hipSPARSE-6.1*
- =sci-libs/hipRAND-6.1*
- =sci-libs/hipCUB-6.1*
- =sci-libs/hipSOLVER-6.1*
- =sci-libs/miopen-6.1*
- =dev-util/roctracer-6.1*
-
- =sci-libs/hipBLASLt-6.1*
- amdgpu_targets_gfx90a? (
=sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx90a] )
- amdgpu_targets_gfx940? (
=sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx940] )
- amdgpu_targets_gfx941? (
=sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx941] )
- amdgpu_targets_gfx942? (
=sci-libs/hipBLASLt-6.1*[amdgpu_targets_gfx942] )
- )
- distributed? (
- sci-ml/tensorpipe[cuda?]
- dev-cpp/cpp-httplib
- )
- xnnpack? ( ~sci-ml/XNNPACK-2024.02.29 )
- mkl? ( sci-libs/mkl )
- openblas? ( sci-libs/openblas )
-"
-
-DEPEND="
- ${RDEPEND}
- dev-libs/flatbuffers
- dev-libs/FXdiv
- dev-libs/pocketfft
- dev-libs/psimd
- sci-ml/FP16
- sci-ml/kineto
- $(python_gen_cond_dep '
- dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ')
- cuda? ( <=dev-libs/cutlass-3.4.1 )
- onednn? ( sci-ml/ideep )
- qnnpack? ( dev-libs/clog )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-unbundle_fmt.patch
- "${FILESDIR}"/${P}-unbundle_kineto.patch
- "${FILESDIR}"/${P}-cudnn_include_fix.patch
- "${FILESDIR}"/${P}-gentoo.patch
- "${FILESDIR}"/${PN}-2.4.0-cpp-httplib.patch
- "${FILESDIR}"/${P}-glog-0.6.0.patch
- "${FILESDIR}"/${P}-newfix-functorch-install.patch
-)
-
-src_prepare() {
- filter-lto #bug 862672
-
- # Unbundle fmt
- sed -i \
- -e 's|::fmt-header-only||' \
- c10/CMakeLists.txt \
- cmake/Dependencies.cmake \
- torch/CMakeLists.txt \
- || die
-
- # Drop third_party from CMake tree
- sed -i \
- -e '/add_subdirectory.*third_party/d' \
- CMakeLists.txt \
- cmake/Dependencies.cmake \
- cmake/ProtoBuf.cmake \
- aten/src/ATen/CMakeLists.txt \
- || die
- # Change libc10* path
- sed -i \
- -e "/EXPORT/s|DESTINATION lib)|DESTINATION $(get_libdir))|" \
- c10/cuda/CMakeLists.txt \
- c10/CMakeLists.txt \
- c10/hip/CMakeLists.txt \
- || die
- sed -i \
- -e '/Using pocketfft in directory:/d' \
- cmake/Dependencies.cmake \
- || die
-
- cmake_src_prepare
- pushd torch/csrc/jit/serialization || die
- flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
- popd
-
- # prefixify the hardcoded paths, after all patches are applied
- hprefixify \
- aten/CMakeLists.txt \
- caffe2/CMakeLists.txt \
- cmake/Metal.cmake \
- cmake/Modules/*.cmake \
- cmake/Modules_CUDA_fix/FindCUDNN.cmake \
- cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \
-
cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \
- cmake/public/LoadHIP.cmake \
- cmake/public/cuda.cmake \
- cmake/Dependencies.cmake \
- torch/CMakeLists.txt \
- CMakeLists.txt
-
- if use rocm; then
- sed -e "s:/opt/rocm:/usr:" \
- -e "s:lib/cmake:$(get_libdir)/cmake:g" \
- -e "s/HIP 1.0/HIP 1.0 REQUIRED/" \
- -i cmake/public/LoadHIP.cmake || die
-
- ebegin "HIPifying cuda sources"
- ${EPYTHON} tools/amd_build/build_amd.py || die
- eend $?
- fi
-}
-
-src_configure() {
- if use cuda && [[ -z ${TORCH_CUDA_ARCH_LIST} ]]; then
- ewarn "WARNING: caffe2 is being built with its default CUDA
compute capabilities: 3.5 and 7.0."
- ewarn "These may not be optimal for your GPU."
- ewarn ""
- ewarn "To configure caffe2 with the CUDA compute capability
that is optimal for your GPU,"
- ewarn "set TORCH_CUDA_ARCH_LIST in your make.conf, and
re-emerge caffe2."
- ewarn "For example, to use CUDA capability 7.5 & 3.5, add:
TORCH_CUDA_ARCH_LIST=7.5 3.5"
- ewarn "For a Maxwell model GPU, an example value would be:
TORCH_CUDA_ARCH_LIST=Maxwell"
- ewarn ""
- ewarn "You can look up your GPU's CUDA compute capability at
https://developer.nvidia.com/cuda-gpus"
- ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery |
grep 'CUDA Capability'"
- fi
-
- local mycmakeargs=(
- -DBUILD_CUSTOM_PROTOBUF=OFF
- -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
- -DPython_EXECUTABLE="${PYTHON}"
- -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
- -DUSE_CCACHE=OFF
- -DUSE_CUDA=$(usex cuda)
- -DUSE_DISTRIBUTED=$(usex distributed)
- -DUSE_FAKELOWP=OFF
- -DUSE_FBGEMM=$(usex fbgemm)
- -DUSE_FLASH_ATTENTION=$(usex flash)
- -DUSE_GFLAGS=ON
- -DUSE_GLOG=ON
- -DUSE_GLOO=$(usex gloo)
- -DUSE_ITT=OFF
- -DUSE_KINETO=OFF # TODO
- -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
- -DUSE_MEM_EFF_ATTENTION=$(usex memefficient)
- -DUSE_MKLDNN=$(usex onednn)
- -DUSE_MPI=$(usex mpi)
- -DUSE_NCCL=OFF
- -DUSE_NNPACK=$(usex nnpack)
- -DUSE_NUMA=OFF
- -DUSE_NUMPY=$(usex numpy)
- -DUSE_OPENCL=$(usex opencl)
- -DUSE_OPENMP=$(usex openmp)
- -DUSE_PYTORCH_QNNPACK=$(usex qnnpack)
- -DUSE_PYTORCH_METAL=OFF
- -DUSE_ROCM=$(usex rocm)
- -DUSE_SYSTEM_CPUINFO=ON
- -DUSE_SYSTEM_EIGEN_INSTALL=ON
- -DUSE_SYSTEM_FP16=ON
- -DUSE_SYSTEM_FXDIV=ON
- -DUSE_SYSTEM_GLOO=ON
- -DUSE_SYSTEM_ONNX=ON
- -DUSE_SYSTEM_PSIMD=ON
- -DUSE_SYSTEM_PSIMD=ON
- -DUSE_SYSTEM_PTHREADPOOL=ON
- -DUSE_SYSTEM_PYBIND11=ON
- -DUSE_SYSTEM_SLEEF=ON
- -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
- -DUSE_TENSORPIPE=$(usex distributed)
- -DUSE_UCC=OFF
- -DUSE_VALGRIND=OFF
- -DUSE_XNNPACK=$(usex xnnpack)
- -DUSE_XPU=OFF
- -Wno-dev
- )
-
- if use mkl; then
- mycmakeargs+=(-DBLAS=MKL)
- elif use openblas; then
- mycmakeargs+=(-DBLAS=OpenBLAS)
- else
- mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=)
- fi
-
- if use cuda; then
- addpredict "/dev/nvidiactl" # bug 867706
- addpredict "/dev/char"
- addpredict "/proc/self/task" # bug 926116
-
- mycmakeargs+=(
- -DUSE_CUDNN=ON
- -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5
7.0}"
- -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication
Library
- -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
- )
- elif use rocm; then
- export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)"
-
- mycmakeargs+=(
- -DUSE_NCCL=ON
- -DUSE_SYSTEM_NCCL=ON
- )
-
- # ROCm libraries produce too much warnings
- append-cxxflags -Wno-deprecated-declarations -Wno-unused-result
-
- if tc-is-clang; then
- # fix mangling in LLVM:
https://github.com/llvm/llvm-project/issues/85656
- append-cxxflags -fclang-abi-compat=17
- fi
- fi
-
- if use onednn; then
- mycmakeargs+=(
- -DMKLDNN_FOUND=ON
- -DMKLDNN_LIBRARIES=dnnl
-
-DMKLDNN_INCLUDE_DIR="${ESYSROOT}/usr/include/oneapi/dnnl"
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- PYTORCH_BUILD_VERSION=${PV} \
- PYTORCH_BUILD_NUMBER=0 \
- cmake_src_compile
-}
-
-python_install() {
- python_domodule python/torch
- mkdir "${D}"$(python_get_sitedir)/torch/bin || die
- mkdir "${D}"$(python_get_sitedir)/torch/lib || die
- mkdir "${D}"$(python_get_sitedir)/torch/include || die
- ln -s ../../../../../include/torch \
- "${D}$(python_get_sitedir)"/torch/include/torch || die # bug
923269
- ln -s ../../../../../bin/torch_shm_manager \
- "${D}"/$(python_get_sitedir)/torch/bin/torch_shm_manager || die
- ln -s ../../../../../$(get_libdir)/libtorch_global_deps.so \
- "${D}"/$(python_get_sitedir)/torch/lib/libtorch_global_deps.so
|| die
-}
-
-src_install() {
- cmake_src_install
-
- # Used by pytorch ebuild
- insinto "/var/lib/${PN}"
- doins "${BUILD_DIR}"/CMakeCache.txt
- dostrip -x /var/lib/${PN}/functorch.so
-
- rm -rf python
- mkdir -p python/torch || die
- cp torch/version.py python/torch/ || die
- python_install
-}
diff --git a/sci-ml/caffe2/caffe2-2.7.0-r3.ebuild
b/sci-ml/caffe2/caffe2-2.7.0-r3.ebuild
deleted file mode 100644
index cf3872ea65f9..000000000000
--- a/sci-ml/caffe2/caffe2-2.7.0-r3.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-ROCM_VERSION=6.1
-inherit python-single-r1 cmake cuda flag-o-matic prefix rocm toolchain-funcs
-
-MYPN=pytorch
-MYP=${MYPN}-${PV}
-
-# caffe2-2.6.0 depends on future version of composable kernel
-# TODO: replace it with RDEPEND in the future
-CK_COMMIT=8086bbe3a78d931eb96fe12fdc014082e18d18d3
-CK_P=composable_kernel-${CK_COMMIT:0:8}
-
-FLASH_PV=2.7.4
-FLASH_PN=flash-attention
-FLASH_P=${FLASH_PN}-${FLASH_PV}
-
-DESCRIPTION="A deep learning framework"
-HOMEPAGE="https://pytorch.org/"
-SRC_URI="
- https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz ->
${MYP}.tar.gz
- rocm? (
-
https://github.com/ROCm/composable_kernel/archive/${CK_COMMIT}.tar.gz
- -> ${CK_P}.tar.gz
- )
- flash? (
-
https://github.com/Dao-AILab/${FLASH_PN}/archive/refs/tags/v${FLASH_PV}.tar.gz
- -> ${FLASH_P}.gh.tar.gz
- )
-"
-
-S="${WORKDIR}"/${MYP}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="cuda cusparselt distributed fbgemm flash gloo memefficient mkl mpi
nnpack +numpy
- onednn openblas opencl openmp qnnpack rocm xnnpack"
-RESTRICT="test"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- mpi? ( distributed )
- gloo? ( distributed )
- ?? ( cuda rocm )
- rocm? (
- || ( ${ROCM_REQUIRED_USE} )
- !flash
- )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-cpp/abseil-cpp:=
- dev-cpp/gflags:=
- >=dev-cpp/glog-0.5.0
- dev-cpp/nlohmann_json
- dev-cpp/opentelemetry-cpp
- dev-libs/cpuinfo
- dev-libs/libfmt:=
- dev-libs/protobuf:=
- dev-libs/pthreadpool
- dev-libs/sleef
- sci-ml/foxi
- ~sci-ml/kineto-0.4.0_p20250214
- sci-ml/onnx
- virtual/lapack
- cuda? (
- dev-libs/cudnn
- >=sci-ml/cudnn-frontend-1.0.3:0/8
- dev-util/nvidia-cuda-toolkit:=[profiler]
- cusparselt? ( dev-libs/cusparselt )
- )
- fbgemm? ( sci-ml/FBGEMM )
- gloo? ( <=sci-ml/gloo-2023.12.03[cuda?] )
- mpi? ( virtual/mpi )
- nnpack? ( sci-ml/NNPACK )
- numpy? ( $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ') )
- onednn? ( =sci-ml/oneDNN-3.5* )
- opencl? ( virtual/opencl )
- qnnpack? (
- !sci-libs/QNNPACK
- sci-ml/gemmlowp
- )
- rocm? (
- >=dev-libs/rccl-6.1 <dev-libs/rccl-6.5
- >=dev-util/hip-6.1 <dev-util/hip-6.5
- >=dev-util/roctracer-6.1 <dev-util/roctracer-6.5
- >=sci-libs/hipBLAS-6.1 <sci-libs/hipBLAS-6.5
- >=sci-libs/hipBLASLt-6.1 <sci-libs/hipBLASLt-6.5
- >=sci-libs/hipCUB-6.1 <sci-libs/hipCUB-6.5
- >=sci-libs/hipFFT-6.1 <sci-libs/hipFFT-6.5
- >=sci-libs/hipRAND-6.1 <sci-libs/hipRAND-6.5
- >=sci-libs/hipSOLVER-6.1 <sci-libs/hipSOLVER-6.5
- >=sci-libs/hipSPARSE-6.1 <sci-libs/hipSPARSE-6.5
- >=sci-libs/miopen-6.1 <sci-libs/miopen-6.5
- >=sci-libs/rocPRIM-6.1 <sci-libs/rocPRIM-6.5
- >=sci-libs/rocThrust-6.1 <sci-libs/rocThrust-6.5
- )
- distributed? (
- sci-ml/tensorpipe[cuda?]
- dev-cpp/cpp-httplib
- )
- xnnpack? ( >=sci-ml/XNNPACK-2024.11 )
- mkl? ( sci-libs/mkl )
- openblas? ( sci-libs/openblas )
-"
-
-DEPEND="
- ${RDEPEND}
- dev-libs/flatbuffers
- dev-libs/FXdiv
- dev-libs/pocketfft
- dev-libs/psimd
- sci-ml/FP16
- $(python_gen_cond_dep '
- dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ')
- cuda? ( ~dev-libs/cutlass-3.8.0 )
- onednn? ( sci-ml/ideep )
- qnnpack? ( dev-libs/clog )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.5.1-unbundle_fmt.patch
- "${FILESDIR}"/${PN}-2.5.1-unbundle_kineto.patch
- "${FILESDIR}"/${PN}-2.5.1-cudnn_include_fix.patch
- "${FILESDIR}"/${P}-gentoo.patch
- "${FILESDIR}"/${PN}-2.4.0-cpp-httplib.patch
- "${FILESDIR}"/${PN}-2.5.1-glog-0.6.0.patch
- "${FILESDIR}"/${PN}-2.5.1-newfix-functorch-install.patch
- "${FILESDIR}"/${PN}-2.6.0-rocm-fix-std-cpp17.patch
- "${FILESDIR}"/${P}-cmake.patch
- "${FILESDIR}"/${P}-glog-0.7.1.patch
- "${FILESDIR}"/${P}-llvm.patch
-)
-
-src_prepare() {
- if use flash; then
- mv "${WORKDIR}"/${FLASH_P}/* third_party/${FLASH_PN}/ || die
- fi
- filter-lto #bug 862672
-
- # Unbundle fmt
- sed -i \
- -e 's|::fmt-header-only||' \
- c10/CMakeLists.txt \
- cmake/Dependencies.cmake \
- torch/CMakeLists.txt \
- || die
-
- # Drop third_party from CMake tree
- sed -i \
- -e '/add_subdirectory.*third_party/d' \
- CMakeLists.txt \
- cmake/Dependencies.cmake \
- cmake/ProtoBuf.cmake \
- aten/src/ATen/CMakeLists.txt \
- || die
- # Change libc10* path
- sed -i \
- -e "/EXPORT/s|DESTINATION lib)|DESTINATION $(get_libdir))|" \
- c10/cuda/CMakeLists.txt \
- c10/CMakeLists.txt \
- c10/hip/CMakeLists.txt \
- || die
- sed -i \
- -e '/Using pocketfft in directory:/d' \
- cmake/Dependencies.cmake \
- || die
-
- # Noisy warnings from Logging.h
- sed -i 's/-Wextra-semi//' cmake/public/utils.cmake || die
-
- cmake_src_prepare
- pushd torch/csrc/jit/serialization || die
- flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
- popd
-
- # prefixify the hardcoded paths, after all patches are applied
- hprefixify \
- aten/CMakeLists.txt \
- caffe2/CMakeLists.txt \
- cmake/Metal.cmake \
- cmake/Modules/*.cmake \
- cmake/Modules_CUDA_fix/FindCUDNN.cmake \
- cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \
-
cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \
- cmake/public/LoadHIP.cmake \
- cmake/public/cuda.cmake \
- cmake/Dependencies.cmake \
- torch/CMakeLists.txt \
- CMakeLists.txt
-
- if use rocm; then
- sed -e "s:/opt/rocm:/usr:" \
- -e "s:lib/cmake:$(get_libdir)/cmake:g" \
- -i cmake/public/LoadHIP.cmake || die
-
- # TODO: delete, when caffe2 depends on systemwide
composable_kernel
- sed -e
"s:third_party/composable_kernel:../composable_kernel-${CK_COMMIT}:g" \
- -i aten/src/ATen/CMakeLists.txt || die
-
- if tc-is-clang; then
- # Systemwide gcc (for absl and at::TensorBase) + hipcc
(llvm>=18) need abi-compat=17.
- # But systemwide clang>=18 + hipcc (>=llvm-18) need
opposite!
- # See also:
https://github.com/llvm/llvm-project/issues/102443#issuecomment-2329726287
- sed '/-fclang-abi-compat=17/d' -i
cmake/Dependencies.cmake || die
- fi
-
- # Workaround for libc++ issue
https://github.com/llvm/llvm-project/issues/100802
- sed 's/std::memcpy/memcpy/g' -i c10/util/Half.h || die
-
- ebegin "HIPifying cuda sources"
- ${EPYTHON} tools/amd_build/build_amd.py || die
- eend $?
- fi
-}
-
-src_configure() {
- if use cuda && [[ -z ${TORCH_CUDA_ARCH_LIST} ]]; then
- ewarn "WARNING: caffe2 is being built with its default CUDA
compute capabilities: 3.5 and 7.0."
- ewarn "These may not be optimal for your GPU."
- ewarn ""
- ewarn "To configure caffe2 with the CUDA compute capability
that is optimal for your GPU,"
- ewarn "set TORCH_CUDA_ARCH_LIST in your make.conf, and
re-emerge caffe2."
- ewarn "For example, to use CUDA capability 7.5 & 3.5, add:
TORCH_CUDA_ARCH_LIST=7.5 3.5"
- ewarn "For a Maxwell model GPU, an example value would be:
TORCH_CUDA_ARCH_LIST=Maxwell"
- ewarn ""
- ewarn "You can look up your GPU's CUDA compute capability at
https://developer.nvidia.com/cuda-gpus"
- ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery |
grep 'CUDA Capability'"
- fi
-
- local mycmakeargs=(
- -DBUILD_CUSTOM_PROTOBUF=OFF
- -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
- -DPython_EXECUTABLE="${PYTHON}"
- -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
- -DUSE_CCACHE=OFF
- -DUSE_CUDA=$(usex cuda)
- -DUSE_DISTRIBUTED=$(usex distributed)
- -DUSE_FAKELOWP=OFF
- -DUSE_FBGEMM=$(usex fbgemm)
- -DUSE_FLASH_ATTENTION=$(usex flash)
- -DUSE_GFLAGS=ON
- -DUSE_GLOG=ON
- -DUSE_GLOO=$(usex gloo)
- -DUSE_ITT=OFF
- -DUSE_KINETO=ON
- -DUSE_KLEIDIAI=OFF # TODO
- -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
- -DUSE_MEM_EFF_ATTENTION=$(usex memefficient)
- -DUSE_MKLDNN=$(usex onednn)
- -DUSE_MPI=$(usex mpi)
- -DUSE_NCCL=OFF
- -DUSE_NNPACK=$(usex nnpack)
- -DUSE_NUMA=OFF
- -DUSE_NUMPY=$(usex numpy)
- -DUSE_OPENCL=$(usex opencl)
- -DUSE_OPENMP=$(usex openmp)
- -DUSE_PYTORCH_QNNPACK=$(usex qnnpack)
- -DUSE_PYTORCH_METAL=OFF
- -DUSE_ROCM=$(usex rocm)
- -DUSE_SYSTEM_CPUINFO=ON
- -DUSE_SYSTEM_EIGEN_INSTALL=ON
- -DUSE_SYSTEM_FP16=ON
- -DUSE_SYSTEM_FXDIV=ON
- -DUSE_SYSTEM_GLOO=ON
- -DUSE_SYSTEM_NVTX=ON
- -DUSE_SYSTEM_ONNX=ON
- -DUSE_SYSTEM_PSIMD=ON
- -DUSE_SYSTEM_PTHREADPOOL=ON
- -DUSE_SYSTEM_PYBIND11=ON
- -DUSE_SYSTEM_SLEEF=ON
- -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
- -DUSE_TENSORPIPE=$(usex distributed)
- -DUSE_UCC=OFF
- -DUSE_VALGRIND=OFF
- -DUSE_XNNPACK=$(usex xnnpack)
- -DUSE_XPU=OFF
- -Wno-dev
- )
-
- if use mkl; then
- mycmakeargs+=(-DBLAS=MKL)
- elif use openblas; then
- mycmakeargs+=(-DBLAS=OpenBLAS)
- else
- mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=)
- fi
-
- if use cuda; then
- addpredict "/dev/nvidiactl" # bug 867706
- addpredict "/dev/char"
- addpredict "/proc/self/task" # bug 926116
-
- mycmakeargs+=(
- -DUSE_CUDNN=ON
- -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5
7.0}"
- -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication
Library
- -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
- -DUSE_CUSPARSELT=$(usex cusparselt)
- )
- elif use rocm; then
- export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)"
-
- mycmakeargs+=(
- -DUSE_NCCL=ON
- -DUSE_SYSTEM_NCCL=ON
- -DCMAKE_REQUIRE_FIND_PACKAGE_HIP=ON
- )
-
- # ROCm libraries produce too much warnings
- append-cxxflags -Wno-deprecated-declarations -Wno-unused-result
-Wno-unused-value
- fi
-
- if use onednn; then
- mycmakeargs+=(
- -DMKLDNN_FOUND=ON
- -DMKLDNN_LIBRARIES=dnnl
-
-DMKLDNN_INCLUDE_DIR="${ESYSROOT}/usr/include/oneapi/dnnl"
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- PYTORCH_BUILD_VERSION=${PV} \
- PYTORCH_BUILD_NUMBER=0 \
- cmake_src_compile
-}
-
-python_install() {
- python_domodule python/torch
- mkdir "${D}"$(python_get_sitedir)/torch/bin || die
- mkdir "${D}"$(python_get_sitedir)/torch/lib || die
- mkdir "${D}"$(python_get_sitedir)/torch/include || die
- ln -s ../../../../../include/torch \
- "${D}$(python_get_sitedir)"/torch/include/torch || die # bug
923269
- ln -s ../../../../../bin/torch_shm_manager \
- "${D}"/$(python_get_sitedir)/torch/bin/torch_shm_manager || die
- ln -s ../../../../../$(get_libdir)/libtorch_global_deps.so \
- "${D}"/$(python_get_sitedir)/torch/lib/libtorch_global_deps.so
|| die
-}
-
-src_install() {
- cmake_src_install
-
- # Used by pytorch ebuild
- insinto "/var/lib/${PN}"
- doins "${BUILD_DIR}"/CMakeCache.txt
- dostrip -x /var/lib/${PN}/functorch.so
-
- rm -rf python
- mkdir -p python/torch || die
- cp torch/version.py python/torch/ || die
- python_install
-}
diff --git a/sci-ml/caffe2/files/caffe2-2.5.1-gentoo.patch
b/sci-ml/caffe2/files/caffe2-2.5.1-gentoo.patch
deleted file mode 100644
index f923b6746a4b..000000000000
--- a/sci-ml/caffe2/files/caffe2-2.5.1-gentoo.patch
+++ /dev/null
@@ -1,127 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -986,12 +986,11 @@ endif()
- # third_party/FBGEMM
- include(cmake/public/utils.cmake)
- if(NOT MSVC)
-- string(APPEND CMAKE_CXX_FLAGS " -O2 -fPIC")
-+ string(APPEND CMAKE_CXX_FLAGS " -O2")
- # Eigen fails to build with some versions, so convert this to a warning
- # Details at http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1459
- string(APPEND CMAKE_CXX_FLAGS " -Wall")
- string(APPEND CMAKE_CXX_FLAGS " -Wextra")
-- append_cxx_flag_if_supported("-Werror=return-type" CMAKE_CXX_FLAGS)
- append_cxx_flag_if_supported("-Werror=non-virtual-dtor" CMAKE_CXX_FLAGS)
- append_cxx_flag_if_supported("-Werror=braced-scalar-init" CMAKE_CXX_FLAGS)
- append_cxx_flag_if_supported("-Werror=range-loop-construct" CMAKE_CXX_FLAGS)
-@@ -1085,7 +1084,6 @@ if(NOT MSVC)
- string(APPEND CMAKE_LINKER_FLAGS_DEBUG " -fno-omit-frame-pointer -O0")
- append_cxx_flag_if_supported("-fno-math-errno" CMAKE_CXX_FLAGS)
- append_cxx_flag_if_supported("-fno-trapping-math" CMAKE_CXX_FLAGS)
-- append_cxx_flag_if_supported("-Werror=format" CMAKE_CXX_FLAGS)
- else()
- # skip unwanted includes from windows.h
- add_compile_definitions(WIN32_LEAN_AND_MEAN)
---- a/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt
-+++ b/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt
-@@ -324,16 +324,8 @@ set_target_properties(pytorch_qnnpack PROPERTIES
PUBLIC_HEADER include/pytorch_q
- set_target_properties(pytorch_qnnpack PROPERTIES PUBLIC_HEADER
include/qnnpack_func.h)
-
- # ---[ Configure clog
--if(NOT TARGET clog)
-- set(CLOG_BUILD_TESTS OFF CACHE BOOL "")
-- set(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "")
-- add_subdirectory(
-- "${CLOG_SOURCE_DIR}"
-- "${CONFU_DEPENDENCIES_BINARY_DIR}/clog")
-- # We build static version of clog but a dynamic library may indirectly
depend on it
-- set_property(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)
--endif()
--target_link_libraries(pytorch_qnnpack PUBLIC clog)
-+find_library(CLOG_LIBRARY NAMES clog REQUIRED)
-+target_link_libraries(pytorch_qnnpack PUBLIC ${CLOG_LIBRARY})
-
- # ---[ Configure cpuinfo
- if(NOT TARGET cpuinfo AND USE_SYSTEM_CPUINFO)
---- a/caffe2/CMakeLists.txt
-+++ b/caffe2/CMakeLists.txt
-@@ -87,7 +87,7 @@ endif()
- # Note: the folders that are being commented out have not been properly
- # addressed yet.
-
--if(NOT MSVC AND USE_XNNPACK)
-+if(FALSE)
- if(NOT TARGET fxdiv)
- set(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
- set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
-@@ -1081,7 +1081,6 @@ if(USE_XPU)
- endif()
-
- if(NOT MSVC AND USE_XNNPACK)
-- TARGET_LINK_LIBRARIES(torch_cpu PRIVATE fxdiv)
- endif()
-
- # ==========================================================
---- a/cmake/Codegen.cmake
-+++ b/cmake/Codegen.cmake
-@@ -57,7 +57,7 @@ if(INTERN_BUILD_ATEN_OPS)
- if(MSVC)
- set(OPT_FLAG "/fp:strict ")
- else(MSVC)
-- set(OPT_FLAG "-O3 ")
-+ set(OPT_FLAG " ")
- if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
- set(OPT_FLAG " ")
- endif()
---- a/cmake/Dependencies.cmake
-+++ b/cmake/Dependencies.cmake
-@@ -473,7 +473,9 @@ if(USE_PYTORCH_QNNPACK)
- set_property(TARGET pytorch_qnnpack PROPERTY POSITION_INDEPENDENT_CODE
ON)
- set_property(TARGET cpuinfo PROPERTY POSITION_INDEPENDENT_CODE ON)
- # QNNPACK depends on gemmlowp headers
-- target_include_directories(pytorch_qnnpack PRIVATE
"${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
-+ find_package(gemmlowp REQUIRED)
-+ get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp::gemmlowp
INTERFACE_INCLUDE_DIRECTORIES)
-+ target_include_directories(pytorch_qnnpack PRIVATE
${GEMMLOWP_INCLUDE_DIRS})
-
- if(PYTORCH_QNNPACK_CUSTOM_THREADPOOL)
- target_compile_definitions(
-@@ -710,7 +712,7 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR
BUILD_MOBILE_TEST)
- endif()
-
- # ---[ FBGEMM
--if(USE_FBGEMM)
-+if(FALSE)
- set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
- if(NOT DEFINED FBGEMM_SOURCE_DIR)
- set(FBGEMM_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/fbgemm" CACHE STRING
"FBGEMM source directory")
-@@ -758,6 +760,7 @@ if(USE_FBGEMM)
- endif()
-
- if(USE_FBGEMM)
-+ list(APPEND Caffe2_DEPENDENCY_LIBS fbgemm)
- caffe2_update_option(USE_FBGEMM ON)
- else()
- caffe2_update_option(USE_FBGEMM OFF)
---- a/cmake/External/nnpack.cmake
-+++ b/cmake/External/nnpack.cmake
-@@ -56,7 +56,7 @@ if(ANDROID OR IOS OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux"
OR ${CMAKE_SYSTEM_NAM
- set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE
STRING "pthreadpool source directory")
- set(GOOGLETEST_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/googletest" CACHE
STRING "Google Test source directory")
-
-- if(NOT TARGET nnpack)
-+ if(FALSE)
- if(NOT USE_SYSTEM_PTHREADPOOL AND USE_INTERNAL_PTHREADPOOL_IMPL)
- set(NNPACK_CUSTOM_THREADPOOL ON CACHE BOOL "")
- endif()
---- a/cmake/public/utils.cmake
-+++ b/cmake/public/utils.cmake
-@@ -422,8 +422,6 @@ function(torch_compile_options libname)
- endif()
-
- # Use -O2 for release builds (-O3 doesn't improve perf, and -Os results in
perf regression)
-- target_compile_options(${libname} PRIVATE
--
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>>:-O2>)
-
- endfunction()
-