summaryrefslogtreecommitdiff
path: root/sci-ml
diff options
context:
space:
mode:
Diffstat (limited to 'sci-ml')
-rw-r--r--sci-ml/Manifest.gzbin4568 -> 4570 bytes
-rw-r--r--sci-ml/caffe2/Manifest4
-rw-r--r--sci-ml/caffe2/caffe2-2.6.0-r3.ebuild (renamed from sci-ml/caffe2/caffe2-2.6.0-r2.ebuild)64
-rw-r--r--sci-ml/caffe2/files/caffe2-2.6.0-rocm-fix-std-cpp17.patch50
4 files changed, 91 insertions, 27 deletions
diff --git a/sci-ml/Manifest.gz b/sci-ml/Manifest.gz
index 958a35818ff1..094a9cd0be9e 100644
--- a/sci-ml/Manifest.gz
+++ b/sci-ml/Manifest.gz
Binary files differ
diff --git a/sci-ml/caffe2/Manifest b/sci-ml/caffe2/Manifest
index 7db834f6adf3..078812c45c65 100644
--- a/sci-ml/caffe2/Manifest
+++ b/sci-ml/caffe2/Manifest
@@ -8,11 +8,13 @@ AUX caffe2-2.5.1-newfix-functorch-install.patch 455 BLAKE2B 32f1b92ce029337a6e97
AUX caffe2-2.5.1-unbundle_fmt.patch 499 BLAKE2B 06550f8e7ae3a932a585f8abe7653ac0b574d9ce1160c190a39f96b7d76e3a9e7a4e62b9e5e967e5884d0e38668f60af7737ea3c715d718deb7a634de98ccebd SHA512 afcb5f1123cbe5eeebdb2c5e312e37956dbc33a926cf379f531896f2c75fbb4b4dfa2c9d276a98bbad51bc587886bb572c3221be06e5116443c8ab44e1d12da5
AUX caffe2-2.5.1-unbundle_kineto.patch 830 BLAKE2B 80c9ebc30d0ca3b964141a5d9a7cb3662e6dc8472454ceabc2725f47277211cd495c4146dc9c2046cc5c5505909cf4e30c780685fceebdb05319aba5c4366346 SHA512 9645b11b5395f7a4626f17edae22c718c73d2e2f3de56e98653932a3c66f417942d54fd1dadc99112337c11513ac707a96d0caac4bf3d100db8f7079609b9b68
AUX caffe2-2.6.0-gentoo.patch 6698 BLAKE2B 58c46bedcc71ef25ab3e70efbea98e2cd4f5c068deb289ae95ba985745edcacb258bcf5cf093f44ff60606b3f6dcd1f75c9463ee225dec5e79675d0f78196e05 SHA512 b835e24e903f4d4aeaa4c1c8611bdd3896e36631c163da4154201676d7c5236e6eb7d80e0f81700f47b5f5859ced4c7ec0bdfbef6646c6ccc0f982f0d893fe14
+AUX caffe2-2.6.0-rocm-fix-std-cpp17.patch 2522 BLAKE2B 4142319d00f95910b2712d36f9d94a03b0a8bcac551ca8c486c516382a9a3dfb3800dfa7ed4d93c4fdb132de2c4b6e5bead8932f6003d01a61fe30560d4d46ae SHA512 fb94ceba0924d4e82ef97f3e8bcefd37e4b26ffbf676195cd7e93ce012d516ab2f9ce39379ec938a1697d3ac9c0b6b5787b09cfffdb2565c9b1a018e89141cf2
DIST caffe2-patches-20240809.tar.gz 15242 BLAKE2B 77503c61487e7d85cca5afcab9a6e638f9833a70861845638cf1b62bc492d7b6650e6db81d53ebb2f39c6313509250d339f725f04d03ec6dd23dd0cf70843d8c SHA512 74b3b0b6671b655ecac93f7436c4ed7cb0157a83aafbf6afcc0811e11cef341cd8f638db1a111bcbb01e1a6dd4daf3a36b96d7a8ce90f04c2fa091bd6e3a142b
+DIST composable_kernel-50ee4267.tar.gz 4194795 BLAKE2B b3c97d98a0c9e4620fdae3d30006edf55cc60ffa7f8518f6acb8d808647bc4de362c2e2b7e974686503fa2c7f359b6981cfbda74e40cc1bad4d351c5d2ff92e1 SHA512 9fc6f5f15556f020414b4567520329ef762209a82411a246c2bc1240a9fed2669f7fcb982cf773e3e9561bf9a2c557dba82b8b469d2e5844e679e2f5ab7c3e17
DIST pytorch-2.4.1.tar.gz 115029469 BLAKE2B c2909ff27d527bc57cba56b780d3b8cd07a043ab045caa6c6b27857a16f9ad10aaab2116b26226b1e46ee08ffb44007965d914464418e4ae14ca48c3f3f383bb SHA512 7e9b4485e242eaf0d648765c6621d73d95e7107b766646a098175436d1ab2e2b864badd0757a3bab6b7c318233f2120bad9ac07b39bb9e357897919580c87631
DIST pytorch-2.5.1.tar.gz 116091366 BLAKE2B 7838b17562b94ffc7d798031348689db607dd5eae2a3c35be365972e2b52a2c1b12067068d5aca5ab00cf0977d9c2c3c9ae5337d69534c864c732e6256cbeef6 SHA512 a913a466324a65fa3d79c5e9ad4d605fc7976f0134fda2f81aaa3cea29d56926604999b8a238759646d211e63b47bbb446cdffa86ca8defd8159f11e30301289
DIST pytorch-2.6.0.tar.gz 119594438 BLAKE2B 3152eb341cf42295e147e59625beb9c06608aa4b78f9618c1c0024b10c1c767715d07fe8c4be52d029ac47f808cd0d5e65c9530ec90d951a64b993083b4067ad SHA512 a70da80ff09d226085e18228132cf6bb236ad8cc47eed52375d0d2a615f09dd33849da947270b5670c184eab60cb8e2adf11d801babfbda7aa621400501d07b0
EBUILD caffe2-2.4.1-r6.ebuild 8556 BLAKE2B 77f1809c8ec73b36e16a8c2939bcafb83a995f8074c163e224f0b02230f6c9cde73c2c11aa07b44f4b670b4472c6ba4157262dd14743cad385187bc4145f5af9 SHA512 7747b9ad89f065af36e5d191f24525748a4c6ea020848b0d64f5699e8f9192699ec523708ea6bc52e1973c5792e65330ba7d27e3a0c88d0990094feda9e9a46d
EBUILD caffe2-2.5.1-r10.ebuild 8866 BLAKE2B bcc3af372f8ab5969903c32bf15cc619d700776133cfa20e723fe126435505e73fcf48985c338c3055b5a206f776fe5744a73441308114356f35e566aae56b28 SHA512 e175f3741c80e0181ec03952dfac7bcfad808275c60d01f18a46073300d575b31f7b161eb715db22a00e8bb13e37c68051e487982a8f020d63da342da24ff56e
-EBUILD caffe2-2.6.0-r2.ebuild 8889 BLAKE2B 0ccf998a778c69efb005967a5ed6110c34ab263e42f5d969fb4bbbed611209ae1c9191df8c47b53c7c194b2612ce86229456dc4fc6383779a8736e4499056bfa SHA512 d5f19c8f8742b0bfacef9656b9ead6bdaf1185360467d6b83cd1bc7e26db2e3e2c925131850a7f2b9bf3b1fadc081e9d6047ae3b86aeacecc689377fe62edca8
+EBUILD caffe2-2.6.0-r3.ebuild 9600 BLAKE2B c28f745fb4fbd260a590db4fb0a12a610e7be3aa1030afe91f0f3851688e71f600c2e8ee2874e45977750bba114a94133110c334c2df5a93b00a9c8b77302627 SHA512 50d92c070f5cecf153f363bc99e2c6ffd4f764e14a0f247a94ad801431fb859e5c999acb5dc4855831df18bccbd971c8603e7272047c6d8440d8efeed61d8e01
MISC metadata.xml 1228 BLAKE2B 29fa99ccc009ae8ac209cf0a85a8c87992d10301837f44478b4fe60445dbf261cf1c3869cc6e173944b9c98608fcf32a379c766bf7e53267c90fd71e51e1f9a0 SHA512 06d89ac1b62bf215d56ac67408f6027849f3a1948f1a40013aa989f9d879eb9aa9156d9c336cc83d2bb3795271c11d39d34919f749d83dbfbf48cc2d6aa8545e
diff --git a/sci-ml/caffe2/caffe2-2.6.0-r2.ebuild b/sci-ml/caffe2/caffe2-2.6.0-r3.ebuild
index b9747ad9eed4..37c752237aa1 100644
--- a/sci-ml/caffe2/caffe2-2.6.0-r2.ebuild
+++ b/sci-ml/caffe2/caffe2-2.6.0-r3.ebuild
@@ -10,10 +10,17 @@ 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=50ee4267e27b875d149e642f4cebd47be1dc3b57
+CK_P=composable_kernel-${CK_COMMIT:0:8}
+
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"
+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 )
+"
S="${WORKDIR}"/${MYP}
@@ -68,24 +75,19 @@ RDEPEND="
sci-ml/gemmlowp
)
rocm? (
- =dev-util/hip-6.1*
- =dev-libs/rccl-6.1*[${ROCM_USEDEP}]
- =sci-libs/rocThrust-6.1*[${ROCM_USEDEP}]
- =sci-libs/rocPRIM-6.1*[${ROCM_USEDEP}]
- =sci-libs/hipBLAS-6.1*[${ROCM_USEDEP}]
- =sci-libs/hipFFT-6.1*[${ROCM_USEDEP}]
- =sci-libs/hipSPARSE-6.1*[${ROCM_USEDEP}]
- =sci-libs/hipRAND-6.1*[${ROCM_USEDEP}]
- =sci-libs/hipCUB-6.1*[${ROCM_USEDEP}]
- =sci-libs/hipSOLVER-6.1*[${ROCM_USEDEP}]
- =sci-libs/miopen-6.1*[${ROCM_USEDEP}]
- =dev-util/roctracer-6.1*[${ROCM_USEDEP}]
-
- =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] )
+ >=dev-libs/rccl-6.1 <dev-libs/rccl-6.4
+ >=dev-util/hip-6.1 <dev-util/hip-6.4
+ >=dev-util/roctracer-6.1 <dev-util/roctracer-6.4
+ >=sci-libs/hipBLAS-6.1 <sci-libs/hipBLAS-6.4
+ >=sci-libs/hipBLASLt-6.1 <sci-libs/hipBLASLt-6.4
+ >=sci-libs/hipCUB-6.1 <sci-libs/hipCUB-6.4
+ >=sci-libs/hipFFT-6.1 <sci-libs/hipFFT-6.4
+ >=sci-libs/hipRAND-6.1 <sci-libs/hipRAND-6.4
+ >=sci-libs/hipSOLVER-6.1 <sci-libs/hipSOLVER-6.4
+ >=sci-libs/hipSPARSE-6.1 <sci-libs/hipSPARSE-6.4
+ >=sci-libs/miopen-6.1 <sci-libs/miopen-6.4
+ >=sci-libs/rocPRIM-6.1 <sci-libs/rocPRIM-6.4
+ >=sci-libs/rocThrust-6.1 <sci-libs/rocThrust-6.4
)
distributed? (
sci-ml/tensorpipe[cuda?]
@@ -122,6 +124,7 @@ PATCHES=(
"${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
)
src_prepare() {
@@ -178,9 +181,22 @@ src_prepare() {
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
+ # 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 $?
@@ -275,15 +291,11 @@ src_configure() {
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
-
- 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
diff --git a/sci-ml/caffe2/files/caffe2-2.6.0-rocm-fix-std-cpp17.patch b/sci-ml/caffe2/files/caffe2-2.6.0-rocm-fix-std-cpp17.patch
new file mode 100644
index 000000000000..1b8084ac187f
--- /dev/null
+++ b/sci-ml/caffe2/files/caffe2-2.6.0-rocm-fix-std-cpp17.patch
@@ -0,0 +1,50 @@
+Fix for CXX=clang USE=rocm error: invalid argument '-std=c++17' not allowed with 'C'
+https://github.com/pytorch/pytorch/issues/103222
+--- a/c10/hip/CMakeLists.txt
++++ b/c10/hip/CMakeLists.txt
+@@ -36,6 +36,7 @@ if(NOT BUILD_LIBTORCHLESS)
+
+ # Propagate HIP_CXX_FLAGS that were set from Dependencies.cmake
+ target_compile_options(c10_hip PRIVATE ${HIP_CXX_FLAGS})
++ set_target_properties(c10_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+
+ # caffe2_hip adds a bunch of dependencies like rocsparse, but c10/hip is supposed to be
+ # minimal. I'm not sure if we need hip_hcc or not; for now leave it out
+--- a/caffe2/CMakeLists.txt
++++ b/caffe2/CMakeLists.txt
+@@ -1684,6 +1684,7 @@ if(USE_ROCM)
+
+ # Since PyTorch files contain HIP headers, these flags are required for the necessary definitions to be added.
+ target_compile_options(torch_hip PUBLIC ${HIP_CXX_FLAGS}) # experiment
++ set_target_properties(torch_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+
+ target_link_libraries(torch_hip PUBLIC c10_hip)
+
+@@ -1886,6 +1887,7 @@ if(BUILD_TEST)
+ target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
+ target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE} ${Caffe2_HIP_INCLUDE})
+ target_compile_options(${test_name} PRIVATE ${HIP_CXX_FLAGS})
++ set_target_properties(${test_name} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+ add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>)
+ if(INSTALL_TEST)
+ set_target_properties(${test_name} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:${_rpath_portable_origin}/../lib")
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -1043,7 +1043,6 @@ if(USE_ROCM)
+ list(APPEND HIP_CXX_FLAGS -Wno-duplicate-decl-specifier)
+ list(APPEND HIP_CXX_FLAGS -DCAFFE2_USE_MIOPEN)
+ list(APPEND HIP_CXX_FLAGS -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP)
+- list(APPEND HIP_CXX_FLAGS -std=c++17)
+ list(APPEND HIP_CXX_FLAGS -DHIPBLAS_V2)
+ if(HIP_NEW_TYPE_ENUMS)
+ list(APPEND HIP_CXX_FLAGS -DHIP_NEW_TYPE_ENUMS)
+--- a/cmake/public/utils.cmake
++++ b/cmake/public/utils.cmake
+@@ -267,6 +267,7 @@ function(caffe2_hip_binary_target target_name_or_src)
+ caffe2_binary_target(${target_name_or_src})
+
+ target_compile_options(${__target} PRIVATE ${HIP_CXX_FLAGS})
++ set_target_properties(${__target} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+ target_include_directories(${__target} PRIVATE ${Caffe2_HIP_INCLUDE})
+ endfunction()
+