diff --git a/intel-deb.sh b/intel-deb.sh index adbd91f..2d61418 100755 --- a/intel-deb.sh +++ b/intel-deb.sh @@ -30,7 +30,7 @@ end function update_urls for package_dir in $package_dirs - set -g package_set (cat $package_dir/_names) + set -g package_set (cat $package_dir/deb_names) set -g deb_urls (get_deb) @@ -43,12 +43,35 @@ function update_urls echo '"' >> /tmp/$_uuid # replace the block - sed '/^SRC_URI="/,/^"/c\\'"$(cat /tmp/$_uuid)" -i "$package_dir/$(echo $package_dir | string split '/')[-1]-9999.ebuild" - rm /tmp/$_uuid + set ebuild_file "$package_dir/$(echo $package_dir | string split '/')[-1]-9999.ebuild" + if ! test -f "$FILE" + echo "Can't update missing file:" + echo "$ebuild_file" + echo "#=======" + sed -e 's/\\\n/\n/g' /tmp/$_uuid | string replace '\\' '' + echo "#=======" + break + end - # update manifests - cd $package_dirs - pkgdev manifest + local overwrite="n" + echo "Overwrite SRC_URI in $ebuild_file ?" + echo "[y/n]" + while true + read -f overwrite + [[ "$overwrite" == y* || "$overwrite" == n* ]] && echo "$overwrite" && break || echo "unrecognized input" + end + echo $overwrite + if [[ "$overwrite" == y* ]] + break + sed '/^SRC_URI="/,/^"/c\\'"$(cat /tmp/$_uuid)" -i "$ebuild_file" + rm /tmp/$_uuid + + # update manifests + cd $package_dirs + pkgdev manifest + else + echo "fuck" + end end end @@ -58,10 +81,10 @@ end set -l DIR (cd (dirname (status -f)); and pwd) # folders to process -set -g package_dirs (find $DIR -name '_names' | string replace '/_names' '') +set -g package_dirs (find $DIR -name 'deb_names' | string replace '/deb_names' '') set -g url_base "https://apt.repos.intel.com/oneapi" -set -g versions (wget -qO- $url_base/dists/all/main/binary-amd64/Packages.gz | gzip -d | grep "^Filename:" | cut -d' ' -f2 | sort -u | grep -e '-[0-9]' | string split ' ') +set -g versions (wget -qO- $url_base/dists/all/main/binary-amd64/Packages.gz | gzip -d | grep "^Filename:" | cut -d' ' -f2 | sort -u | grep -e '-[0-9]*.[0-9]-[0-9]*.[0-9].[0-9]*' | string split ' ') switch $argv[1] case 'update' diff --git a/metadata/md5-cache/dev-util/intel-llvm-6.2.1 b/metadata/md5-cache/dev-util/intel-llvm-6.2.1 new file mode 100644 index 0000000..3f5d732 --- /dev/null +++ b/metadata/md5-cache/dev-util/intel-llvm-6.2.1 @@ -0,0 +1,12 @@ +BDEPEND=virtual/pkgconfig +DEFINED_PHASES=- +DEPEND= +DESCRIPTION=Intel staging area for llvm.org contribution. Home for Intel LLVM-based projects +EAPI=8 +HOMEPAGE=https://github.com/intel/llvm +KEYWORDS=~amd64 +LICENSE=Apache2.0 +RDEPEND= +SLOT=0 +SRC_URI=https://github.com/intel/llvm/releases/download/v6.2.1/sycl_linux.tar.gz -> intel-llvm-6.2.1.tar.gz +_md5_=ee01798aaacc61c420cb43dfccb5c2dd diff --git a/metadata/md5-cache/sci-libs/mkl-2025.3.0.461 b/metadata/md5-cache/sci-libs/mkl-2025.3.0.461 index f028198..16115ca 100644 --- a/metadata/md5-cache/sci-libs/mkl-2025.3.0.461 +++ b/metadata/md5-cache/sci-libs/mkl-2025.3.0.461 @@ -4,12 +4,13 @@ DESCRIPTION=Intel Math Kernel Library EAPI=8 HOMEPAGE=https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html INHERIT=unpacker -IUSE=eselect-ldso examples gnu-openmp llvm-openmp static-libs tbb sycl +IUSE=eselect-ldso examples gnu-openmp llvm-openmp static-libs tbb sycl blas KEYWORDS=~amd64 LICENSE=ISSL RDEPEND=eselect-ldso? ( app-eselect/eselect-blas app-eselect/eselect-lapack ) gnu-openmp? ( sys-devel/gcc:*[openmp] ) llvm-openmp? ( llvm-runtimes/openmp ) tbb? ( dev-cpp/tbb ) +REQUIRED_USE=blas? ( sycl ) RESTRICT=strip SLOT=0 -SRC_URI=https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-core-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-core-devel-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-classic-include-2025.3-2025.3.0-461_amd64.deb sycl? ( https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-devel-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-include-2025.3-2025.3.0-461_amd64.deb ) +SRC_URI=https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-core-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-core-devel-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-classic-include-2025.3-2025.3.0-461_amd64.deb sycl? ( https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-devel-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-include-2025.3-2025.3.0-461_amd64.deb blas? ( https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-blas-2025.3-2025.3.0-461_amd64.deb ) https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-data-fitting-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-dft-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-distributed-dft-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-distributed-dft-devel-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-lapack-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-rng-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-sparse-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-stats-2025.3-2025.3.0-461_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-vm-2025.3-2025.3.0-461_amd64.deb ) _eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 98d9f464d912ae6b7316fb8a3721f5db unpacker 3b4ee72d1e2e0374fd8cd3eddfa00627 -_md5_=b567c39897aea49c7b588a4a3ac2ac1f +_md5_=d90405605ee7b6995b4a3f461716deee diff --git a/metadata/md5-cache/sci-ml/oneDNN-3.10.1 b/metadata/md5-cache/sci-ml/oneDNN-3.10.1 new file mode 100644 index 0000000..618680b --- /dev/null +++ b/metadata/md5-cache/sci-ml/oneDNN-3.10.1 @@ -0,0 +1,16 @@ +BDEPEND=openmp? ( || ( sys-devel/gcc[openmp] llvm-runtimes/clang-runtime[openmp] ) ) app-alternatives/ninja >=dev-build/cmake-3.28.5 doc? ( app-text/doxygen ) +DEFINED_PHASES=compile configure install prepare pretend setup test +DEPEND=mkl? ( sci-libs/mkl ) cblas? ( !mkl? ( virtual/cblas ) ) +DESCRIPTION=oneAPI Deep Neural Network Library +EAPI=8 +HOMEPAGE=https://github.com/oneapi-src/oneDNN +INHERIT=cmake docs multiprocessing toolchain-funcs +IUSE=test mkl cblas static-libs +openmp doc +KEYWORDS=amd64 +LICENSE=Apache-2.0 +RDEPEND=mkl? ( sci-libs/mkl ) cblas? ( !mkl? ( virtual/cblas ) ) +RESTRICT=test +SLOT=0 +SRC_URI=https://github.com/oneapi-src/oneDNN/archive/refs/tags/v3.10.1.tar.gz -> oneDNN-3.10.1.tar.gz +_eclasses_=toolchain-funcs 98d9f464d912ae6b7316fb8a3721f5db flag-o-matic a7afe42e95fb46ce9691605acfb24672 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 3a59a39e97af0f7c03f49cf3c22f262b xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 22e4e58d68692975dc74424dc9b12fb7 docs 006125f2158d2f16904ebd9114336058 +_md5_=82f3f649538fdc5ce7caeb930b3d9b13 diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest index 4a74e0b..0b922e1 100644 --- a/sci-libs/mkl/Manifest +++ b/sci-libs/mkl/Manifest @@ -1,5 +1,16 @@ DIST intel-oneapi-mkl-classic-include-2025.3-2025.3.0-461_amd64.deb 662600 BLAKE2B a3ef4f096561f829c7a8e877c61020ed19772867ea02d4752f5731327ca35c9c43c5d4f7b525f3f7b8eb23c78c51141c6dc87413a3ad3bb005ce3aca323fa112 SHA512 b246b5829e2804a5c61853a198935e625afd1fbbcf7a4135e867c225f0102df28ea99291d35c9dc75a93b5e17d1e1a8c2c8bc7b4e059742341ff9746347be09c DIST intel-oneapi-mkl-core-2025.3-2025.3.0-461_amd64.deb 110250458 BLAKE2B fd80ca6c6432087fab96ee50a0a2dd3eeb5fa4441a56a172e5efdcca7ad3a480ff4f5fe6b0c627b5134de273a6504eaaf61054892fce4c78dbdd119470cf5fd8 SHA512 a343b9e8055f7fe3c09c6cab1df9300242e56e56396f519a5b3bfb7bc95e31be0243b2cf0a7e165c603569e7fe841955d1282607609043690ea4570baed41786 DIST intel-oneapi-mkl-core-devel-2025.3-2025.3.0-461_amd64.deb 106333914 BLAKE2B c10c0c5e9bf7a39ef745ec0bc952e291d295878b7a590a99ed7816a3802b48e05a8f126e9049350929ef56074be43c1648942f4ea92f8730138f95f2267de713 SHA512 bd56d7f03d5dc1d9b2aa0dc94b6d9c093bb60f99bf2351d48d18db8d311162a22fa9178d48b73394809cd629f57bcb14f718ed5fd4e19a7f7d021f4866a04964 +DIST intel-oneapi-mkl-sycl-2025.3-2025.3.0-461_amd64.deb 2676 BLAKE2B 40c2e395ca951b9d4b7f51ccdd463a04d207c72d864de9e0d2dd2cc4ce33a57684efbfdbacebbedb739a5780eb0fa7a6c5ace4e85feded451645fbb815f3d723 SHA512 5cc0db1347dc4b339da75e512a3b22b62343fa17b49f9283efd9352e2e68e1d9bbd2d64f6e256a93db4bc5c3ce000ca50d9acec1e3ebb7b3994549a124eff63f +DIST intel-oneapi-mkl-sycl-blas-2025.3-2025.3.0-461_amd64.deb 13018234 BLAKE2B 13223659e21da1afd32aee6ee90067f4e83db83f7c33c42e53cc0d8e665c3da5cb1881b6717351aade954f0c178c6f350a64ff071c15dca1ee6d9e87d6f2ee13 SHA512 627c43440d37cc18c5a771c1ebbc33dcb47ab2870c0868977b76fff426b0ff908941a3b1ea979c5488c31e2fb1c315424a49bd094d2a682ad0245d012ffeba3a +DIST intel-oneapi-mkl-sycl-data-fitting-2025.3-2025.3.0-461_amd64.deb 1327908 BLAKE2B 82a0e1f968e847ed02a0c8eb3f8a657223909f460028a0521226220c3d70a154c43f2de6b6640c8b4f15b23363c10e110b40dc822bfa2590f4221bd68e3ffcd4 SHA512 ee70a542d7dea2f0eebe6f70851874a97cfa915c8a763f0fd3e51eb041f2e292757b485f65d8a7829c239c501aa16d64c4d3721091d5a501daa95fe2432188d2 DIST intel-oneapi-mkl-sycl-devel-2025.3-2025.3.0-461_amd64.deb 103906754 BLAKE2B 216ee3a7fd99503fd72d70b0f3f9b3cd83161baacceb5793c84a38ab4177994fbbdffa282a8658a1f3b42921084cdc73a1e74a6bd05bcdf982fcbfe6a0fb2b96 SHA512 5c7f76a46cdc533bde0225ac37527cc0b62b728b5600321b301e088b32ffe0ac7694565125b61c629694362267af833fe2bca8f3159f40763ddc1c4c8e5b01c0 +DIST intel-oneapi-mkl-sycl-dft-2025.3-2025.3.0-461_amd64.deb 2655128 BLAKE2B 13c8044a1532ded554bd7de601ac936a58d2a5b039b538ff5785eb75452a7214a5d2de45181a4793daf14919f41194376f9bb1deb174ab7004fd385fd52ba749 SHA512 097f75ab394f61fec1f490a07452096aa37aef3c24f11bb7a278ff2689ee90f3aaa79befcac4bc99d6da61327d86a53d980d800431739cca9520429ec9050d90 +DIST intel-oneapi-mkl-sycl-distributed-dft-2025.3-2025.3.0-461_amd64.deb 54350 BLAKE2B f7c5f3f33b9264058fe99fff01a8b723ad3397323c716971f36042ef83230b6b5b7712bee2985866c4814e81dff2b9730fe2e7946df9ef0bc19ffeec109e89fe SHA512 0aad0b00179cccfd2d79d023118b8cb4db8bc2bb110e2dda32f328538cafeccb92bfbafbb566f81edd4545e963c47c34f274a4fa1aebc1914a5478d4b7dad422 +DIST intel-oneapi-mkl-sycl-distributed-dft-devel-2025.3-2025.3.0-461_amd64.deb 56166 BLAKE2B 4a85071a322832cb579c8814db0fc8b26b8e8356a83ffe60b03cee842589e93454fbf4d53bb13eea970f5d118feea062aa413ef0607b8afa97a9982a2842b428 SHA512 b2520cd95daefe017eb69172c63daee0b4f0e899ea27593deecbf16ae1f0abd5a6bad47d2b40b2529f4f5677ab95fa16ce3bee86e68795618eb8ced20f04c829 DIST intel-oneapi-mkl-sycl-include-2025.3-2025.3.0-461_amd64.deb 130584 BLAKE2B c0482b0ca05581f02c30d8bf310a52faadd50c3ea85a79c01d32a2c2e40b3574dce278cf1aee7ac6c1e79ee4a3eda4b7bb3a20b951d41b43dc44879436fee438 SHA512 a5d1457aebe7e37e32a9a5a373cf79ef189e89c871291dee9b983053e7bced5aee440765a1278b7702ca9bd7d60e569dc86aaa260ee6814fdec60e390ba048be +DIST intel-oneapi-mkl-sycl-lapack-2025.3-2025.3.0-461_amd64.deb 6594236 BLAKE2B 9df5bd86a5618e034673bf61a342c441dc31e9e9008af1420ce2e59971fc09df1ffbb5aa9b3e58b7d80ac8b82de2a2392064bfb90d561bd248b8c957314578d8 SHA512 5e69d4cc1cf69f90c9faf8c11ca36c28a865f52952f755f1c3d5af8553c0d1673c12384d5dd1dcb3122b840a34c89ca8d5e82d7dba5e4530f3c771d76fe422bb +DIST intel-oneapi-mkl-sycl-rng-2025.3-2025.3.0-461_amd64.deb 14999630 BLAKE2B 31672953a13120ad59975b379da8a4bef58b4bb6fc26afe593d1db1e8852918c433c04e15876dcc4fa0d7c77fb06861a238f6585ae0471e3501d2818e27d79d2 SHA512 c33d32bda839b9977195cc2a741afdbcf8727e17101aa352cc0309edd4dd5bbd60dbab0b1892fb062b97c4067ad6f7275be7ae2b981dc8db39e74e6d2767628d +DIST intel-oneapi-mkl-sycl-sparse-2025.3-2025.3.0-461_amd64.deb 15963026 BLAKE2B 2803986c567fbc425b27732dd095e999638dce0911ed7838949f4f3c9785ba7a979574e269003bea36f4cc93ed5247733dd3a4b7fb19450c93681e379a09ff73 SHA512 ccd26fdf0068519d2ab6b8b67d828bf73574f67e4a179ef585e930d18a388a1369f07887b0037bafd132419e657ab10ff149feff307e3c905077d86f5fad40ed +DIST intel-oneapi-mkl-sycl-stats-2025.3-2025.3.0-461_amd64.deb 4616296 BLAKE2B c79ab06b93472a14edcf5660de278280430ea8ff06780c09f4c90aeec43c715dcf42be2363dc3dc4fe18d38bfe15b0f2b2b62452663832a606c43402dd515b0a SHA512 00e89b8654da5459c724b54311080854c9b65a2b33d3a6d0d6b11d0f5c8d85d91647df2956a7962339810404c472c42c5f47a98b8b013cf6a8ee0ffaae41dd1e +DIST intel-oneapi-mkl-sycl-vm-2025.3-2025.3.0-461_amd64.deb 34218074 BLAKE2B 97ce6d8754975216955067e33771759a3f6b4eb4ae0a0f1d102901985e66961f8beb36fb122f7505ec31a6242fe9389011f78a4c2727a46666a31180f4301c0a SHA512 99100bfc4899948f3539ce6d30e679ba07d4e47763fc56334a59160ec45b066be97ebd420436663e16d18fc3e5cb9187f5e81ec07fc4155fa72df9870a1207a9 diff --git a/sci-libs/mkl/_names b/sci-libs/mkl/deb_names similarity index 83% rename from sci-libs/mkl/_names rename to sci-libs/mkl/deb_names index 7094a2f..5cb5feb 100644 --- a/sci-libs/mkl/_names +++ b/sci-libs/mkl/deb_names @@ -3,3 +3,4 @@ intel-oneapi-mkl-core-devel intel-oneapi-mkl-classic-include intel-oneapi-mkl-sycl-devel intel-oneapi-mkl-sycl-include +intel-oneapi-mkl-sycl-blas diff --git a/sci-libs/mkl/mkl-2025.3.0.461.ebuild b/sci-libs/mkl/mkl-2025.3.0.461.ebuild index f7a9e8c..d5c1b71 100644 --- a/sci-libs/mkl/mkl-2025.3.0.461.ebuild +++ b/sci-libs/mkl/mkl-2025.3.0.461.ebuild @@ -15,8 +15,20 @@ SRC_URI=" https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-core-devel-${PN_VER}-${MY_PV}_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-classic-include-${PN_VER}-${MY_PV}_amd64.deb sycl? ( + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-${PN_VER}-${MY_PV}_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-devel-${PN_VER}-${MY_PV}_amd64.deb https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-include-${PN_VER}-${MY_PV}_amd64.deb + blas? ( https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-blas-${PN_VER}-${MY_PV}_amd64.deb ) + + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-data-fitting-${PN_VER}-${MY_PV}_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-dft-${PN_VER}-${MY_PV}_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-distributed-dft-${PN_VER}-${MY_PV}_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-distributed-dft-devel-${PN_VER}-${MY_PV}_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-lapack-${PN_VER}-${MY_PV}_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-rng-${PN_VER}-${MY_PV}_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-sparse-${PN_VER}-${MY_PV}_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-stats-${PN_VER}-${MY_PV}_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-sycl-vm-${PN_VER}-${MY_PV}_amd64.deb ) " S="${WORKDIR}" @@ -24,7 +36,8 @@ S="${WORKDIR}" LICENSE="ISSL" SLOT="0" KEYWORDS="~amd64" -IUSE="eselect-ldso examples gnu-openmp llvm-openmp static-libs tbb sycl" +IUSE="eselect-ldso examples gnu-openmp llvm-openmp static-libs tbb sycl blas" +REQUIRED_USE="blas? ( sycl )" RESTRICT="strip" RDEPEND=" diff --git a/sci-ml/oneDNN/Manifest b/sci-ml/oneDNN/Manifest new file mode 100644 index 0000000..1855c46 --- /dev/null +++ b/sci-ml/oneDNN/Manifest @@ -0,0 +1 @@ +DIST oneDNN-3.10.1.tar.gz 13511292 BLAKE2B ad46e800b026c4ea37ad14f87ce46cae34a3c2491db430f725ae1d22446b6c7c2f522742106ee6116c0c93f9c3dfc26af146d00bd8159d0e4e69329a3559bfda SHA512 a20e9cf8c47462ce82e366e8769cbea3733b57e01026c3661d5b3bb306fe2bbb30926b65d6aa143120d3c11416573b2fd7016bfd9f4daa29967fd634c7670eb7 diff --git a/sci-ml/oneDNN/files/oneDNN-3.6.2-cmake.patch b/sci-ml/oneDNN/files/oneDNN-3.6.2-cmake.patch new file mode 100644 index 0000000..1d32f95 --- /dev/null +++ b/sci-ml/oneDNN/files/oneDNN-3.6.2-cmake.patch @@ -0,0 +1,33 @@ +--- a/CMakeLists.txt 2025-04-08 22:04:35.298750813 +0200 ++++ b/CMakeLists.txt 2025-04-08 22:04:47.430599644 +0200 +@@ -14,7 +14,7 @@ + # limitations under the License. + #=============================================================================== + +-cmake_minimum_required(VERSION 2.8.12) ++cmake_minimum_required(VERSION 3.5) + + if(POLICY CMP0022) + cmake_policy(SET CMP0022 NEW) +--- a/tests/other/subproject/CMakeLists.txt 2025-06-17 22:07:30.945429962 +0200 ++++ b/tests/other/subproject/CMakeLists.txt 2025-06-17 22:07:45.914268746 +0200 +@@ -20,7 +20,7 @@ + # To test run: + # mkdir -p build && cd build && cmake .. && make -j && ./project_app + +-cmake_minimum_required(VERSION 2.8.12) ++cmake_minimum_required(VERSION 3.5) + + set(PROJECT_NAME "Project") + +--- a/examples/CMakeLists.txt.in 2025-06-17 22:08:08.118029611 +0200 ++++ b/examples/CMakeLists.txt.in 2025-06-17 22:08:22.668872895 +0200 +@@ -14,7 +14,7 @@ + # limitations under the License. + #=============================================================================== + +-cmake_minimum_required(VERSION 2.8.12) ++cmake_minimum_required(VERSION 3.5) + + if("${CMAKE_BUILD_TYPE}" STREQUAL "") + message(STATUS "CMAKE_BUILD_TYPE is unset, defaulting to Release") diff --git a/sci-ml/oneDNN/metadata.xml b/sci-ml/oneDNN/metadata.xml new file mode 100644 index 0000000..1e6efe7 --- /dev/null +++ b/sci-ml/oneDNN/metadata.xml @@ -0,0 +1,24 @@ + + + + + tupone@gentoo.org + Tupone Alfredo + + + lockalsash@gmail.com + Sv. Lockal + + + proxy-maint@gentoo.org + Proxy Maintainers + + + https://github.com/oneapi-src/oneDNN/issues + oneapi-src/oneDNN + + + Use sci-libs/mkl for sgemm routines + Use virtual/cblas for sgemm routines + + diff --git a/sci-ml/oneDNN/oneDNN-3.10.1.ebuild b/sci-ml/oneDNN/oneDNN-3.10.1.ebuild new file mode 100644 index 0000000..f335a94 --- /dev/null +++ b/sci-ml/oneDNN/oneDNN-3.10.1.ebuild @@ -0,0 +1,148 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="${WORKDIR}/${P}_build" + +# oneDNN has its own FindBLAS.cmake file to find MKL (in a non-standard way). +# Removing of CMake modules is disabled. +CMAKE_REMOVE_MODULES_LIST=( none ) + +# There is additional sphinx documentation but we are missing dependency doxyrest. +inherit cmake docs multiprocessing toolchain-funcs + +DESCRIPTION="oneAPI Deep Neural Network Library" +HOMEPAGE="https://github.com/oneapi-src/oneDNN" +SRC_URI="https://github.com/oneapi-src/oneDNN/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64" + +IUSE="test mkl cblas static-libs +openmp sycl" + +RESTRICT="test" # Some test are very long to execute + +DEPEND=" + mkl? ( sci-libs/mkl ) + cblas? ( !mkl? ( virtual/cblas ) ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + openmp? ( + || ( + sys-devel/gcc[openmp] + llvm-runtimes/clang-runtime[openmp] + ) + ) + sycl? ( dev-util/intel-llvm ) +" + +pkg_pretend() { + use openmp && use sycl && ewarn "SYCL takes priority over OpenMP as both were enabled." + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_configure() { + if ! use openmp && ! use sycl ; then + ewarn "WARNING: oneDNN is being built with sequential runtime." + ewarn "Proceeding might lead to highly sub-optimal performance." + ewarn "Conside enabling \"openmp\" or \"sycl\" USE flag." + fi + + local mycmakeargs=( + -DDNNL_LIBRARY_TYPE=$(usex static-libs STATIC SHARED) + -DDNNL_GPU_RUNTIME=$(usex sycl SYCL NONE) + -DDNNL_BUILD_EXAMPLES=OFF + -DDNNL_BUILD_TESTS="$(usex test)" + -DDNNL_ENABLE_CONCURRENT_EXEC=OFF + -DDNNL_ENABLE_JIT_PROFILING=ON + -DDNNL_ENABLE_ITT_TASKS=ON + -DDNNL_ENABLE_PRIMITIVE_CACHE=ON + -DDNNL_ENABLE_MAX_CPU_ISA=ON + -DDNNL_ENABLE_CPU_ISA_HINTS=ON + -DDNNL_ENABLE_WORKLOAD=TRAINING + -DDNNL_ENABLE_PRIMITIVE=ALL + -DDNNL_ENABLE_PRIMITIVE_GPU_ISA=ALL + -DDNNL_EXPERIMENTAL=OFF + -DDNNL_VERBOSE=ON + -DDNNL_DEV_MODE=OFF + -DDNNL_AARCH64_USE_ACL=OFF + -DDNNL_EXPERIMENTAL_UKERNEL=ON + -DDNNL_GPU_VENDOR=INTEL + -DDNNL_LIBRARY_NAME=dnnl + -DONEDNN_BUILD_GRAPH=ON + -DONEDNN_ENABLE_GRAPH_DUMP=OFF + #-DONEDNN_EXPERIMENTAL_GRAPH_COMPILER_BACKEND=OFF + -DDNNL_ENABLE_PRIMITIVE_CPU_ISA=ALL + -DONEDNN_ENABLE_GEMM_KERNELS_ISA=ALL + -Wno-dev + ) + + if use mkl ; then + if [ -e "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh ]; then + source "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh || die + else + # bug 923109: sci-libs/mkl-2020.4.304 has no vars.sh, configure it manually + export CPATH="${EPREFIX}"/usr/include/mkl + export MKLROOT="${EPREFIX}"/usr + fi + + mycmakeargs+=( -DDNNL_BLAS_VENDOR=MKL ) + elif use cblas; then + mycmakeargs+=( -DDNNL_BLAS_VENDOR=ANY -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=-lcblas ) + else + mycmakeargs+=( -DDNNL_BLAS_VENDOR=NONE ) + fi + if use sycl ; then + mycmakeargs+=( -DDNNL_CPU_RUNTIME=SYCL ) + elif use openmp ; then + mycmakeargs+=( -DDNNL_CPU_RUNTIME=OMP ) + fi + if use sycl ; then + mycmakeargs+=( + -DDNNL_WITH_SYCL=1 + ) + CC="icx" CXX="icpx" + [[ $FEATURES == *ccache* ]] && CC="ccache $CC" CXX="ccache $CXX" + export CC CXX + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + docs_compile +} + +src_install() { + cmake_src_install + + # Correct docdir + mv "${ED}/usr/share/doc/dnnl"* "${ED}/usr/share/doc/${PF}" || die +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # Crashes in sandbox (see #922886 and #923013); + # waits for sys-apps/sandbox-2.39 release and stabilization. + test_graph_unit_interface + test_graph_unit_dnnl_layout_propagator + test_graph_unit_dnnl_op_executable + test_graph_unit_utils + ) + + if use openmp ; then + # Don't run tests in parallel, each test is already parallelized + OMP_NUM_THREADS=$(makeopts_jobs) cmake_src_test -j1 + else + cmake_src_test + fi +}