From 027dc9b3977cd14e0c7ae52e7bf9370c3919afa1 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 31 Dec 2023 17:46:47 +0000 Subject: gentoo auto-resync : 31:12:2023 - 17:46:47 --- sci-libs/caffe2/Manifest | 6 +- sci-libs/caffe2/caffe2-2.1.2-r1.ebuild | 227 +++++++++++++++++++++ sci-libs/caffe2/caffe2-2.1.2.ebuild | 220 -------------------- .../files/caffe2-2.1.2-fix-openmp-link.patch | 15 ++ sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch | 12 ++ sci-libs/caffe2/metadata.xml | 1 + 6 files changed, 259 insertions(+), 222 deletions(-) create mode 100644 sci-libs/caffe2/caffe2-2.1.2-r1.ebuild delete mode 100644 sci-libs/caffe2/caffe2-2.1.2.ebuild create mode 100644 sci-libs/caffe2/files/caffe2-2.1.2-fix-openmp-link.patch create mode 100644 sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch (limited to 'sci-libs/caffe2') diff --git a/sci-libs/caffe2/Manifest b/sci-libs/caffe2/Manifest index 5ddfe7e3af74..ec3737780b09 100644 --- a/sci-libs/caffe2/Manifest +++ b/sci-libs/caffe2/Manifest @@ -9,6 +9,8 @@ AUX caffe2-2.0.0-gentoo.patch 7081 BLAKE2B d2b8d411f6f2c19c5339053accd445606092d AUX caffe2-2.0.1-cudaExtra.patch 1294 BLAKE2B 2b7e43080d84ca47349274982f19b6b2eba456edeb78383cc56d0c0d8f409829e612c8e8e0afcece4155def7fe97f419ca08aed89fc3a77cc2a0f43ebf7d983a SHA512 6ad2466dc92c895098634b1016f4c7b3ce28b7bfac5fa0e122a0dfb979ec465e3849a6cf30a7909a382f9a98b3221a76e90ed0731cb5ab141a54fddfacaf5eea AUX caffe2-2.1.1-cudaExtra.patch 1336 BLAKE2B f12d29a624f9345452227076108b9ded4c6c60051f10645340e03694b53765cf1c892e9a8797748cfba1fc416d84782a265b961c9c5e7ab1b0f367192287c891 SHA512 9c394305f99e377c5eec6d271c9c80b3c45eb0ccaeb96ad21feba93bc13ae562843c0ae055d11ddee63b8e2b180dc2a0e7a44b9772b0044ac3cd94a0ee4c3d67 AUX caffe2-2.1.1-gentoo.patch 6329 BLAKE2B c002f1605888ac79bed292cf1967eedd4d177193947dbafea8443958e498b371865a8f7548cc7e2c572d7fff69418344286071d64f4742691e943e81b73d811c SHA512 8eb2b2f89de809ff93e0deaa4bd6116f73bed55642904e689ba97e5bf21ba5754935a8d0c1f632b1f262400f0c809398524056f7691f7787c154a5b7f6f1b7b2 +AUX caffe2-2.1.2-fix-openmp-link.patch 483 BLAKE2B dfe9ae0978b71449486d12f769c3c962001c138bc53b0605ed6f2215fe732356da90c5084488bc4d9f54c88aab2a426b8c935543f7ba0890783bb58da30a5cb4 SHA512 a9cee8ae2a8477a21e92bd4ef286af68efd90283593db7ed4641a826b19b4266bcab9c131c93be2b6c2f13d5cd545c766612791cf2e23cff9a731a03f3ad7648 +AUX caffe2-2.1.2-fix-rpath.patch 510 BLAKE2B 6585e8089acc6e7fe69713ad04a64263ab2e9d2d5cf6d3a844dbbc917383e4b7a0688ebdfb3142e3c42108c8c14a6435f48ae4ce3adee8db338286d60ed7b503 SHA512 ede770559b487fff736aded0cf4b077d8308c2b85c5cd139150b04bcb8b72a0d78af6a2b74fbb153b75acff71df0832d8f139231d1c18558f5b5479af348e6a0 DIST pytorch-1.13.1.tar.gz 108279745 BLAKE2B 75de03b74dfdaf8d8fb5ea743fcc0c1b0e408a714ad4160c487921220a7b1755e5fa6e587e6bbc8c9f34dd75e096d2e6dd69c80d24821835fff6c833314434d3 SHA512 f16f89d027efade11d057245cad5b69a390e88b458398310ae30de2dbff7c8fd7f1165be7b8da7ea989c81ac3f5a66c5cb9050610e441a97c83fb8aa28c0bd62 DIST pytorch-2.0.0.tar.gz 111327292 BLAKE2B 6d593a975c0ade714f0b189f7e3c4ff704b9a9a2377b5e441a9cefc202fa22779966d08948e63671912c6ea5a0eee124042155f4f57a654db34e19e42f013cc9 SHA512 4dd76160711c0d87f3026c8b7fa3ed149dd86b8ac0ee9ecea0eaf80d2e6ce8c29368392e77b9466d90b60634087b462b782495997a5d33367cc8ca9fe14c8a14 DIST pytorch-2.0.1.tar.gz 111335778 BLAKE2B 7a10cc2b2d5e2422aef7e060a0c3a62ca5c7460c6e0b9becade9b98939501975c74ed5a175a653731f43ca824d2c9bd31f41d1f633c2b139779ab23d5331e9ce SHA512 2309a22b3be3ccdb36d8d9781a59a7bdcc2fdb8d95ada205702ec77862480f0cbb12cd5d6b8cd3114d01a6e33b7743d0fe9de93debf37138ca5c14403cdb0c43 @@ -18,5 +20,5 @@ EBUILD caffe2-1.13.1-r6.ebuild 5244 BLAKE2B d7f5f16e1f1122604a6df64f16c62552fb8b EBUILD caffe2-2.0.0-r5.ebuild 5388 BLAKE2B 8eb29fe5c3abd1ca98c70c583adf10d8872c5cff0535ddc1fa230b4a4c0f71124be65934d498d421598e3723d1622bc1f6b36180bf010b8317a9151b9c026951 SHA512 3c1b194b1e8b010d55f3a046c7af3142c59bcf8cf54364df973564412c1f59aa195a989cdea613860cb6f726b35fac243fbde18fb62b20a930fc40d316dcfde1 EBUILD caffe2-2.0.1-r5.ebuild 5868 BLAKE2B c17450d01ff68d42188c9da9e9c7a6d6469fe5c8b72c91e4ea4456eb4fe9d08cf30619fbb06f3dae21add641329f3ce8ced24bca93eb05900340639c042a1cdb SHA512 d32fa4c194c51efb76b143f22f783efa7a1415902b03ddea1d3f145d632455ebfe672a1b05b1203f2ba752f3331831455ae631a66bb409f45d6c695c68f39c3b EBUILD caffe2-2.1.1-r6.ebuild 6155 BLAKE2B 42e2a369c3a0a3534689bd97cc52ce045d7f21f45cd6b20e7bfd9f50366203ced57f9d5622c8ccb178b3832482936fd841b463369cba2122205156a012fa8b37 SHA512 e5379515e040e0d5c46d3e84e6ae25fc06dee18b6196a1fd7b0198cd66e2f9cc9827fa6672f06c990527622323e30f6e208b344a981310a11d11880f0b50bd07 -EBUILD caffe2-2.1.2.ebuild 6169 BLAKE2B aa962dd75586f1d51f2debe9e718bcba6c354b5a48a2eed20e411bc88ec8644279c4cd57ceafe86ff44a5f2f16e380a73b743c09e4439737ef3b7835727bf098 SHA512 c154b36768238e8f63a98caf06797561c584a81402e7d0d3f553c9f4bce72043f4150135a1bedb47ec17de0a9e4b1b068edb2878d8c2bd221d464d8254003120 -MISC metadata.xml 1062 BLAKE2B 4a5a8aa05b6389823f265deab9373ba0e659a8d2051a72929bc19259215f557d35cd424fc61269446f2d44e45fbcd9a481f308e012da2d7129bbea8d4682c2b3 SHA512 369b2753317479a308c5340f94bdb749207c209646d409053ef78b2bc621f287ca76cfcfc1d04601bda14ed60f5fa9ff898c98b65c0f344a61b58af36f7f0674 +EBUILD caffe2-2.1.2-r1.ebuild 6303 BLAKE2B 74901eccd81f93664f2bf04cf565684533b2302289c404e054d673ffa74bd9c9e27b860596909f0e151ce0f031b7ecad895822add0adb2e0595110127ad621f4 SHA512 dda0ee5e67ccd63677239076141644a66466070f3cfe5d011ffa9197903d80926d68227634808bbfbd107e98f82880f332085a9028e7c4bca5e782cbbeeafb91 +MISC metadata.xml 1158 BLAKE2B f1a95314a6d013d6cd2209dc73daa571ff82510bb4ccbd7b74d888d5ceb7ea4c6531dd11d9b5c582282fb3d47cd018b32b008d9e6edfa29069985edc548382af SHA512 9a500343117e1fc9306505e9a3ec241199553baa226cf5025f641e13a811a7b09f5a77c388231d6ab89c02d9c87d1c5a01b6aa71a586e854f73a92b3261ad341 diff --git a/sci-libs/caffe2/caffe2-2.1.2-r1.ebuild b/sci-libs/caffe2/caffe2-2.1.2-r1.ebuild new file mode 100644 index 000000000000..56ae2472b0fb --- /dev/null +++ b/sci-libs/caffe2/caffe2-2.1.2-r1.ebuild @@ -0,0 +1,227 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..12} ) +inherit python-single-r1 cmake cuda flag-o-matic prefix + +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" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="cuda distributed fbgemm ffmpeg gloo mkl mpi nnpack +numpy opencl opencv openmp qnnpack tensorpipe xnnpack" +RESTRICT="test" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ffmpeg? ( opencv ) + mpi? ( distributed ) + tensorpipe? ( distributed ) + distributed? ( tensorpipe ) + gloo? ( distributed ) +" # ?? ( cuda rocm ) + +# CUDA 12 not supported yet: https://github.com/pytorch/pytorch/issues/91122 +RDEPEND=" + ${PYTHON_DEPS} + dev-cpp/gflags:= + >=dev-cpp/glog-0.5.0 + dev-libs/cpuinfo + dev-libs/libfmt + dev-libs/protobuf:= + dev-libs/pthreadpool + dev-libs/sleef + virtual/lapack + >=sci-libs/onnx-1.12.0 + =dev-libs/cudnn-frontend-0.9.2:0/8 + dev-util/nvidia-cuda-toolkit:=[profiler] + ) + fbgemm? ( >=dev-libs/FBGEMM-2023.11.02 ) + ffmpeg? ( media-video/ffmpeg:= ) + gloo? ( sci-libs/gloo[cuda?] ) + mpi? ( virtual/mpi ) + nnpack? ( sci-libs/NNPACK ) + numpy? ( $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ') ) + opencl? ( virtual/opencl ) + opencv? ( media-libs/opencv:= ) + qnnpack? ( sci-libs/QNNPACK ) + tensorpipe? ( sci-libs/tensorpipe[cuda?] ) + xnnpack? ( >=sci-libs/XNNPACK-2022.12.22 ) + mkl? ( sci-libs/mkl ) +" +DEPEND=" + ${RDEPEND} + cuda? ( >=dev-libs/cutlass-3.1.0 ) + dev-libs/psimd + dev-libs/FP16 + dev-libs/FXdiv + dev-libs/pocketfft + dev-libs/flatbuffers + >=sci-libs/kineto-0.4.0_p20231031 + $(python_gen_cond_dep ' + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/pybind11[${PYTHON_USEDEP}] + ') +" + +S="${WORKDIR}"/${MYP} + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.1-gentoo.patch + "${FILESDIR}"/${PN}-1.13.0-install-dirs.patch + "${FILESDIR}"/${PN}-1.12.0-glog-0.6.0.patch + "${FILESDIR}"/${PN}-1.13.1-tensorpipe.patch + "${FILESDIR}"/${PN}-2.0.0-gcc13.patch + "${FILESDIR}"/${PN}-2.0.0-cudnn_include_fix.patch + "${FILESDIR}"/${PN}-2.1.1-cudaExtra.patch + "${FILESDIR}"/${PN}-2.1.2-fix-rpath.patch + "${FILESDIR}"/${PN}-2.1.2-fix-openmp-link.patch +) + +src_prepare() { + filter-lto #bug 862672 + sed -i \ + -e "/third_party\/gloo/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 +} + +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 + -DBUILD_SHARED_LIBS=ON + + -DUSE_CCACHE=OFF + -DUSE_CUDA=$(usex cuda) + -DUSE_CUDNN=$(usex cuda) + -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}" + -DBUILD_NVFUSER=$(usex cuda) + -DUSE_DISTRIBUTED=$(usex distributed) + -DUSE_MPI=$(usex mpi) + -DUSE_FAKELOWP=OFF + -DUSE_FBGEMM=$(usex fbgemm) + -DUSE_FFMPEG=$(usex ffmpeg) + -DUSE_GFLAGS=ON + -DUSE_GLOG=ON + -DUSE_GLOO=$(usex gloo) + -DUSE_KINETO=OFF # TODO + -DUSE_LEVELDB=OFF + -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma + -DUSE_MKLDNN=OFF + -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library + -DUSE_NNPACK=$(usex nnpack) + -DUSE_QNNPACK=$(usex qnnpack) + -DUSE_XNNPACK=$(usex xnnpack) + -DUSE_SYSTEM_XNNPACK=$(usex xnnpack) + -DUSE_TENSORPIPE=$(usex tensorpipe) + -DUSE_PYTORCH_QNNPACK=OFF + -DUSE_NUMPY=$(usex numpy) + -DUSE_OPENCL=$(usex opencl) + -DUSE_OPENCV=$(usex opencv) + -DUSE_OPENMP=$(usex openmp) + -DUSE_ROCM=OFF # TODO + -DUSE_SYSTEM_CPUINFO=ON + -DUSE_SYSTEM_PYBIND11=ON + -DUSE_UCC=OFF + -DUSE_VALGRIND=OFF + -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}" + -DPYTHON_EXECUTABLE="${PYTHON}" + -DUSE_ITT=OFF + -DUSE_SYSTEM_PTHREADPOOL=ON + -DUSE_SYSTEM_FXDIV=ON + -DUSE_SYSTEM_FP16=ON + -DUSE_SYSTEM_GLOO=ON + -DUSE_SYSTEM_ONNX=ON + -DUSE_SYSTEM_SLEEF=ON + -DUSE_METAL=OFF + + -Wno-dev + -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir) + -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir) + ) + + if use mkl; then + mycmakeargs+=(-DBLAS=MKL) + else + mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=) + fi + + if use cuda; then + addpredict "/dev/nvidiactl" # bug 867706 + addpredict "/dev/char" + + mycmakeargs+=( + -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")" + ) + fi + cmake_src_configure +} + +src_install() { + cmake_src_install + + insinto "/var/lib/${PN}" + doins "${BUILD_DIR}"/CMakeCache.txt + + rm -rf python + mkdir -p python/torch/include || die + mv "${ED}"/usr/lib/python*/site-packages/caffe2 python/ || die + mv "${ED}"/usr/include/torch python/torch/include || die + if use cuda; then + mv "${ED}${S}"/nvfuser python/nvfuser || die + mv "${ED}"/usr/$(get_libdir)/nvfuser.so python/nvfuser/_C.so || die + fi + rm -rf "${ED}${S}"/test + rm -rf "${ED}${S}"/third_party + cp torch/version.py python/torch/ || die + python_domodule python/caffe2 + python_domodule python/torch + if use cuda; then + python_domodule python/nvfuser + fi + find "${ED}" -empty -delete +} diff --git a/sci-libs/caffe2/caffe2-2.1.2.ebuild b/sci-libs/caffe2/caffe2-2.1.2.ebuild deleted file mode 100644 index aca834318aa5..000000000000 --- a/sci-libs/caffe2/caffe2-2.1.2.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -inherit python-single-r1 cmake cuda flag-o-matic prefix - -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" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64" -IUSE="cuda distributed fbgemm ffmpeg gloo mpi nnpack +numpy opencl opencv openmp qnnpack tensorpipe xnnpack" -RESTRICT="test" -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - ffmpeg? ( opencv ) - mpi? ( distributed ) - tensorpipe? ( distributed ) - distributed? ( tensorpipe ) - gloo? ( distributed ) -" # ?? ( cuda rocm ) - -# CUDA 12 not supported yet: https://github.com/pytorch/pytorch/issues/91122 -RDEPEND=" - ${PYTHON_DEPS} - dev-cpp/gflags:= - >=dev-cpp/glog-0.5.0 - dev-libs/cpuinfo - dev-libs/libfmt - dev-libs/protobuf:= - dev-libs/pthreadpool - dev-libs/sleef - sci-libs/lapack - >=sci-libs/onnx-1.12.0 - =dev-libs/cudnn-frontend-0.9.2:0/8 - dev-util/nvidia-cuda-toolkit:=[profiler] - ) - fbgemm? ( >=dev-libs/FBGEMM-2023.11.02 ) - ffmpeg? ( media-video/ffmpeg:= ) - gloo? ( sci-libs/gloo[cuda?] ) - mpi? ( virtual/mpi ) - nnpack? ( sci-libs/NNPACK ) - numpy? ( $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ') ) - opencl? ( virtual/opencl ) - opencv? ( media-libs/opencv:= ) - qnnpack? ( sci-libs/QNNPACK ) - tensorpipe? ( sci-libs/tensorpipe[cuda?] ) - xnnpack? ( >=sci-libs/XNNPACK-2022.12.22 ) -" -DEPEND=" - ${RDEPEND} - dev-cpp/eigen - cuda? ( >=dev-libs/cutlass-3.1.0 ) - dev-libs/psimd - dev-libs/FP16 - dev-libs/FXdiv - dev-libs/pocketfft - dev-libs/flatbuffers - >=sci-libs/kineto-0.4.0_p20231031 - $(python_gen_cond_dep ' - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/pybind11[${PYTHON_USEDEP}] - ') -" - -S="${WORKDIR}"/${MYP} - -PATCHES=( - "${FILESDIR}"/${PN}-2.1.1-gentoo.patch - "${FILESDIR}"/${PN}-1.13.0-install-dirs.patch - "${FILESDIR}"/${PN}-1.12.0-glog-0.6.0.patch - "${FILESDIR}"/${PN}-1.13.1-tensorpipe.patch - "${FILESDIR}"/${PN}-2.0.0-gcc13.patch - "${FILESDIR}"/${PN}-2.0.0-cudnn_include_fix.patch - "${FILESDIR}"/${PN}-2.1.1-cudaExtra.patch -) - -src_prepare() { - filter-lto #bug 862672 - sed -i \ - -e "/third_party\/gloo/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 -} - -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 - -DBUILD_SHARED_LIBS=ON - - -DUSE_CCACHE=OFF - -DUSE_CUDA=$(usex cuda) - -DUSE_CUDNN=$(usex cuda) - -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}" - -DBUILD_NVFUSER=$(usex cuda) - -DUSE_DISTRIBUTED=$(usex distributed) - -DUSE_MPI=$(usex mpi) - -DUSE_FAKELOWP=OFF - -DUSE_FBGEMM=$(usex fbgemm) - -DUSE_FFMPEG=$(usex ffmpeg) - -DUSE_GFLAGS=ON - -DUSE_GLOG=ON - -DUSE_GLOO=$(usex gloo) - -DUSE_KINETO=OFF # TODO - -DUSE_LEVELDB=OFF - -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma - -DUSE_MKLDNN=OFF - -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library - -DUSE_NNPACK=$(usex nnpack) - -DUSE_QNNPACK=$(usex qnnpack) - -DUSE_XNNPACK=$(usex xnnpack) - -DUSE_SYSTEM_XNNPACK=$(usex xnnpack) - -DUSE_TENSORPIPE=$(usex tensorpipe) - -DUSE_PYTORCH_QNNPACK=OFF - -DUSE_NUMPY=$(usex numpy) - -DUSE_OPENCL=$(usex opencl) - -DUSE_OPENCV=$(usex opencv) - -DUSE_OPENMP=$(usex openmp) - -DUSE_ROCM=OFF # TODO - -DUSE_SYSTEM_CPUINFO=ON - -DUSE_SYSTEM_PYBIND11=ON - -DUSE_UCC=OFF - -DUSE_VALGRIND=OFF - -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}" - -DPYTHON_EXECUTABLE="${PYTHON}" - -DUSE_ITT=OFF - -DBLAS=Eigen # avoid the use of MKL, if found on the system - -DUSE_SYSTEM_EIGEN_INSTALL=ON - -DUSE_SYSTEM_PTHREADPOOL=ON - -DUSE_SYSTEM_FXDIV=ON - -DUSE_SYSTEM_FP16=ON - -DUSE_SYSTEM_GLOO=ON - -DUSE_SYSTEM_ONNX=ON - -DUSE_SYSTEM_SLEEF=ON - - -Wno-dev - -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir) - -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir) - ) - - if use cuda; then - addpredict "/dev/nvidiactl" # bug 867706 - addpredict "/dev/char" - - mycmakeargs+=( - -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")" - ) - fi - cmake_src_configure -} - -src_install() { - cmake_src_install - - insinto "/var/lib/${PN}" - doins "${BUILD_DIR}"/CMakeCache.txt - - rm -rf python - mkdir -p python/torch/include || die - mv "${ED}"/usr/lib/python*/site-packages/caffe2 python/ || die - mv "${ED}"/usr/include/torch python/torch/include || die - if use cuda; then - mv "${ED}${S}"/nvfuser python/nvfuser || die - mv "${ED}"/usr/$(get_libdir)/nvfuser.so python/nvfuser/_C.so || die - fi - rm -rf "${ED}${S}"/test - rm -rf "${ED}${S}"/third_party - cp torch/version.py python/torch/ || die - python_domodule python/caffe2 - python_domodule python/torch - if use cuda; then - python_domodule python/nvfuser - fi - find "${ED}" -empty -delete -} diff --git a/sci-libs/caffe2/files/caffe2-2.1.2-fix-openmp-link.patch b/sci-libs/caffe2/files/caffe2-2.1.2-fix-openmp-link.patch new file mode 100644 index 000000000000..3f2d0ae3c30a --- /dev/null +++ b/sci-libs/caffe2/files/caffe2-2.1.2-fix-openmp-link.patch @@ -0,0 +1,15 @@ +Fix "undefined symbol: omp_get_max_active_levels" in mkl + builds +https://github.com/pytorch/pytorch/issues/116576 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -1575,6 +1575,10 @@ if(BUILD_SHARED_LIBS) + target_link_libraries(torch_global_deps TBB::tbb) + endif() + ++ if(USE_OPENMP) ++ target_link_libraries(torch_global_deps OpenMP::OpenMP_CXX) ++ endif() ++ + install(TARGETS torch_global_deps DESTINATION "${TORCH_INSTALL_LIB_DIR}") + endif() + diff --git a/sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch b/sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch new file mode 100644 index 000000000000..731227fa25ee --- /dev/null +++ b/sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch @@ -0,0 +1,12 @@ +Unset rpath to support blas-lapack-switch +Bug: https://bugs.gentoo.org/921129 +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -10,7 +10,6 @@ endif(APPLE) + set(CMAKE_SKIP_BUILD_RPATH FALSE) + # Don't use the install-rpath during the build phase + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +-set(CMAKE_INSTALL_RPATH "${_rpath_portable_origin}") + # Automatically add all linked folders that are NOT in the build directory to + # the rpath (per library?) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) diff --git a/sci-libs/caffe2/metadata.xml b/sci-libs/caffe2/metadata.xml index 3b4ad7f29919..eac4c942a88d 100644 --- a/sci-libs/caffe2/metadata.xml +++ b/sci-libs/caffe2/metadata.xml @@ -21,6 +21,7 @@ Use QNNPACK Use tensorpipe Use XNNPACK + Use sci-libs/mkl for blas, lapack and sparse blas routines pytorch/pytorch -- cgit v1.2.3