gpo.zugaina.org

Search Portage & Overlays:

sci-ml/caffe2

A deep learning framework

Screenshots

  • caffe2-2.13.0-r90
    ~amd64 ~arm64
    cuda cusparselt distributed fbgemm flash gloo kineto memefficient mimalloc mkl mpi nccl nnpack +numpy onednn openblas opencl openmp qnnpack rocm xnnpack python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: BSD   
    Overlay: stuff
  • caffe2-2.12.0-r91
    ~amd64 ~arm64
    cuda cusparselt distributed fbgemm flash gloo kineto memefficient mimalloc mkl mpi nccl nnpack +numpy onednn openblas opencl openmp qnnpack rocm xnnpack python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: BSD   
    Overlay: stuff
  • caffe2-2.12.0-r2
    ~amd64 ~arm64
    cuda cusparselt distributed fbgemm flash gloo kineto memefficient mimalloc mkl mpi nccl nnpack +numpy onednn openblas opencl openmp qnnpack rocm xnnpack python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: BSD   
    Overlay: gentoo
  • caffe2-2.11.0-r90
    ~amd64 ~arm64
    cuda cusparselt distributed fbgemm flash gloo kineto memefficient mimalloc mkl mpi nccl nnpack +numpy onednn openblas opencl openmp qnnpack rocm xnnpack python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: BSD   
    Overlay: stuff
  • caffe2-2.11.0-r3
    ~amd64 ~arm64
    cuda cusparselt distributed fbgemm flash gloo kineto memefficient mimalloc mkl mpi nccl nnpack +numpy onednn openblas opencl openmp qnnpack rocm xnnpack python_single_target_python3_11 python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151

    View      Download      Browse     License: BSD   
    Overlay: gentoo

ChangeLog

commit 3569c06e03e9fcd976ca1b744ffa39310eda3b15
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 22 22:51:06 2026 +0200

sci-ml/caffe2: relocate torch _C, drop 2.13.0 python-package leak

2.13.0 folds the torch Python package install into caffe2's cmake:
torch/CMakeLists.txt installs the torch._C extension and version.py with
DESTINATION ".", and cmake/PackageData.cmake installs the type stubs the
same way. Those destinations are relative to CMAKE_INSTALL_PREFIX, which
upstream expects to be the wheel's <root>/torch but which is /usr here, so
the whole payload lands in /usr/ root and also leaves stray symlinks in
/usr/lib mirroring the host's /usr/lib64 top-level symlinks --
/usr/lib/terminfo collides with sys-libs/ncurses and aborts the merge.

The compiled torch._C extension is the one piece that must be kept: 2.13.0
moved its build from setuptools into cmake, and sci-ml/pytorch skips the
cmake build, so nothing else produces it. Without it `import torch` loads
the torch/_C stub directory instead of the extension and fails. Relocate
_C into site-packages/torch (its NEEDED libtorch* resolve from /usr/lib64
on ldconfig's default path) and drop the rest of the leaked payload -- the
pure-python package is installed by sci-ml/pytorch.

commit 98d9f5848da3641f9cd5da269d76f28e980dcddb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 18 16:03:48 2026 +0200

sci-ml/caffe2: add 2.13.0-r90

PyTorch 2.13.0. Carries the 2.12.0-r91 patch stack forward unchanged plus
four new-in-2.13.0 build fixes, and depends on aotriton-bin-0.12*:

- prebuildsteps-tarball-guard: 2.13.0 moved setup.py's submodule
completeness check into cmake/PreBuildSteps.cmake, which FATAL_ERRORs on
the (intentionally empty) third_party submodules of a source-tarball
build; guard the whole block on the presence of .git.
- glog-exception-init: 2.13.0 duplicated the "is glog initialized" hack
into c10/util/Exception.cpp, still calling the internal
glog_internal_namespace_::IsGoogleLoggingInitialized(); system glog 0.6.0
only exports the public ::google::IsGoogleLoggingInitialized() (mirror
the existing Logging.cpp glog patch).
- wrap-headers-destdir: cmake/PostBuildSteps.cmake runs wrap_headers.py via
install(CODE) against $/include with no $,
writing to the live /usr instead of the image; prepend $ENV.
- HIP_CLANG_PATH: 2.13.0's LoadHIP.cmake hardcodes the HIP compiler at
$/lib/llvm/bin, but Gentoo slots llvm; export it from
hipconfig -l in the rocm configure path.

Plus an fmt sed (drop the new FMT_NO_UNIQUE_ADDRESS compile-defs on the
unbundled fmt target) and a src_install cleanup (drop the aotriton libs
2.13.0 bundles into /usr/lib via hardcoded DESTINATION "lib" -- trips
multilib-strict and duplicates sci-libs/aotriton-bin).

commit bfb3f2583d4f86577dcc789426a0861b34b75439
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jun 17 21:48:26 2026 +0200

sci-ml/caffe2: Keyword 2.12.0-r91 for ~arm64

2.11.0-r90 already carried ~arm64 but 2.12.0-r91 had dropped it. The
C++ libtorch core builds CPU-only on aarch64 (default USE: no
cuda/rocm/fbgemm — fbgemm is x86-AVX-only), so restore ~arm64 and keep
the newest in sync. C++ (CMake); aarch64-portable.

commit 5653f839b39ea876b1a0e1ab42c0e7adc43b59e8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jun 2 12:58:53 2026 +0200

sci-ml/caffe2: fix gcc-15 -Wtemplate-body in List_inl.h

gcc-15 enforces -Wtemplate-body in CUDA .cu compilation, rejecting
typename decltype(impl_->list)::difference_type as a dependent scope.
Replace with std::ptrdiff_t which is equivalent for std::vector iterators.

commit 7c384c8cac70105c06770e0ccb7af0fc295f2471
Author: Raukaan Cogbrother <cogbrother@raukaan.local>
Date: Sun May 31 03:29:35 2026 +0200

metadata: normalize tab → 2-space indent in 42 imported files

42 metadata.xml files inherited tab indentation from their origin
overlays (mostly the ROCm cluster, plus a handful of dev-python and
AMD-tooling imports). The overlay convention is 2-space; this brings
them in line with the other 498 files. Maintainer attributions
preserved verbatim.

commit 6b7192253e216334bb27f7c41b79803fc8ac8a36
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri May 29 09:37:30 2026 +0200

sci-ml/caffe2: relax pybind11 cap to <3.0.5

The <3.0.2 cap was inherited from the 2.11.0-era fork; ::gentoo's 2.12.0-r2 allows
<3.0.5 for the same upstream, and the stale cap blocked pybind11 from upgrading past
3.0.1.

commit b32aff8fbb037bea69577857ec2da162856a8e4f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri May 29 01:26:23 2026 +0200

sci-ml/caffe2: fix xz-compressed patches breaking src_prepare

e8b75c54 compressed files/*.patch to clear a TotalSizeViolation, but eapply does not
decompress patches, so each one failed on the raw xz bytes. Decompress them into $
and repoint PATCHES in src_prepare, keeping files/ compressed so the cap stays
satisfied.

commit e8b75c54469f970239ba45e0cd17beb8159b8f9a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 27 15:02:11 2026 +0200

sci-ml/caffe2: xz-compress files/*.patch to clear TotalSizeViolation

eapply decompresses .patch.xz transparently. Compression takes the
files/ payload from 58.2 KiB to 21.5 KiB (well under pkgcheck's 50
KiB threshold). Chosen over the extra-stuff bundle migration to keep
the patches in-tree; per-patch edits become 'xz -d' → edit → 'xz -9'
but the workflow stays single-repo.

commit e348703397f16e5622b4834a13833dc79ccc35c8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu May 21 14:27:48 2026 +0200

sci-ml/caffe2: add 2.12.0-r90

Fork from ::gentoo 2.12.0-r1 (which drops rocm-fix-std-cpp17.patch to
resolve the C++20 .contains() failure under gcc-16). Carry forward our
overlay-only mkl-public-scrub patch:

- mkl-public-scrub: scrub MKL MPI/cluster libs and force GNU OpenMP
threading in caffe2::mkl's public link interface (ported from 2.11.0;
cmake/public/mkl.cmake context identical at 2.12.0).

Also: drop python3_11 from PYTHON_COMPAT and arm64 from KEYWORDS (not
tested in this overlay); drop nonexistent !sci-libs/QNNPACK blocker.

commit 253cd7b826e77eb7e68d1d3548d5ac9d36ab4ccc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed May 13 14:35:42 2026 +0200

sci-ml/caffe2: disable py3.11

commit f1e7ab9cddb007e7de2e4e4e87ffedd361b212ad
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat May 9 00:44:08 2026 +0200

sci-ml/caffe2: drop dead !sci-libs/QNNPACK blocker

QNNPACK has never existed as a separate Gentoo package (verified
2026-05-09 — no entry in ::gentoo's sci-libs/, no diff-filter=A hits in
::gentoo history). Upstream PyTorch vendors it and exposes the build
toggle as USE_PYTORCH_QNNPACK, which we already wire via the qnnpack
USE flag. The blocker was protecting against a separate package that
never landed. pkgcheck NonexistentBlocker.

commit f19ffa2a53036faae2f64194c8b2f7c7c15e3fb0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri May 8 19:29:35 2026 +0200

sci-ml/caffe2: drop two orphan patches inherited from ::gentoo fork

Both patches target older PVs (2.6.0 / 2.10.0) that 2.11.0-r90's
PATCHES= no longer references; the array uses $- variants for the
relevant fixes (mimalloc, rocm-fix-std-cpp17). Came along when forking
from ::gentoo's -r3 to add the MKL public-link scrub.

commit 78e2fba68899c5e58faba344002934108b58e32c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri May 8 01:25:42 2026 +0200

sci-ml/caffe2: fork ::gentoo's 2.11.0-r3 to -r90 with MKL public-link scrub

::gentoo's caffe2 ships caffe2/cmake/public/mkl.cmake unchanged from
upstream pytorch — calls find_package(MKL) and dumps the full result
into caffe2::mkl's INTERFACE_LINK_LIBRARIES with no filter. On hosts
with Intel oneAPI installed, the resolver is Intel's own MKLConfig.cmake
which by default returns the full HPC / Cluster Edition lib set,
including libmkl_scalapack_ilp64, libmkl_cdft_core,
libmkl_blacs_intelmpi_ilp64 (all MPI-distributed), and libmkl_intel_thread
(Intel-OpenMP threading layer). Those libs only exist when Intel's
separate Cluster + Compiler oneAPI packages are also installed; the
basic intel-oneapi-mkl package omits them.

Because they end up in caffe2::mkl's public link interface, every
downstream consumer that links against torch::torch (vllm's
cumem_allocator, custom torch C++ extensions, etc.) inherits them
and the link fails with "cannot find -lmkl_scalapack_ilp64" etc.

torch::torch's public APIs never reach BLACS / ScaLAPACK / distributed
FFT — distributed-tensor paths use NCCL / Gloo / MPI directly, not
MKL's BLACS. So filtering them is purely subtraction of incorrect
public-link-interface clutter. Forcing MKL_THREADING=gnu_thread before
the find pulls libmkl_gnu_thread (always available) instead of
libmkl_intel_thread, and pairs cleanly with system libgomp — also
avoids the multi-OpenMP-runtime mixing trap (libgomp + libiomp5 in
the same process can oversubscribe / deadlock).

Verified 2026-05-08 against caffe2-2.11.0 with USE="cuda distributed
fbgemm gloo memefficient mkl mpi nnpack numpy onednn openblas opencl
openmp": full rebuild + import torch succeed identically; downstream
consumers (vllm USE=cuda's cumem_allocator extension) link cleanly.

Upstream pytorch's cmake/public/mkl.cmake on main still has the same
unfiltered behaviour as of 2026-05-08; no upstream PR open for this
specific scrub. Drop this -r90 fork when an equivalent upstream fix
lands.