From d5f536d2c61e20af6c8658f470be0a965ab082fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 8 Nov 2024 18:42:09 +0100 Subject: [PATCH 01/16] Enable DNNL_EXPERIMENTAL_UKERNEL, as needed for PyTorch In order to unvendor onednn from PyTorch feedstock (conda-forge/pytorch-cpu-feedstock#289), onednn needs to be built with DNNL_EXPERIMENTAL_UKERNEL enabled. Please also note that the current version of PyTorch requires onednn 3.5.3, so we are also going to request creating a branch with the equivalent patch added for that version. --- recipe/build-onednn.sh | 2 ++ recipe/meta.yaml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/recipe/build-onednn.sh b/recipe/build-onednn.sh index d3aa017..f0f6d19 100644 --- a/recipe/build-onednn.sh +++ b/recipe/build-onednn.sh @@ -26,9 +26,11 @@ elif [[ "${dnnl_cpu_runtime}" == "dpcpp" ]]; then DNNL_GPU_RUNTIME="DPCPP" fi +# DNNL_EXPERIMENTAL_UKERNEL required by PyTorch cmake ${CMAKE_ARGS} -GNinja \ -DDNNL_CPU_RUNTIME=${DNNL_CPU_RUNTIME} \ -DDNNL_GPU_RUNTIME=${DNNL_GPU_RUNTIME} \ + -DDNNL_EXPERIMENTAL_UKERNEL=ON \ .. ninja install if [[ "${CONDA_BUILD_CROSS_COMPILATION:-0}" != 1 ]]; then diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 97147db..ffc43e0 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,7 +10,7 @@ source: sha256: a370e7f25dbf05c9c151878c53556f27d0cbe7a4f909747db6e4b2d245f533cb build: - number: 0 + number: 1 outputs: - name: onednn From 0b0aa67064faabe1152f795b43fe6bdd5e4d5b8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 9 Nov 2024 21:10:25 +0100 Subject: [PATCH 02/16] MNT: Re-rendered with conda-build 24.9.0, conda-smithy 3.44.2, and conda-forge-pinning 2024.11.09.10.10.20 --- .ci_support/linux_64_dnnl_cpu_runtimedpcpp.yaml | 4 +--- .ci_support/linux_64_dnnl_cpu_runtimeomp.yaml | 4 +--- .ci_support/linux_64_dnnl_cpu_runtimetbb.yaml | 4 +--- .ci_support/linux_64_dnnl_cpu_runtimethreadpool.yaml | 4 +--- .ci_support/linux_aarch64_.yaml | 4 +--- .ci_support/linux_ppc64le_.yaml | 4 +--- 6 files changed, 6 insertions(+), 18 deletions(-) diff --git a/.ci_support/linux_64_dnnl_cpu_runtimedpcpp.yaml b/.ci_support/linux_64_dnnl_cpu_runtimedpcpp.yaml index 798850d..d902175 100644 --- a/.ci_support/linux_64_dnnl_cpu_runtimedpcpp.yaml +++ b/.ci_support/linux_64_dnnl_cpu_runtimedpcpp.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -31,7 +31,5 @@ tbb_devel: zip_keys: - - c_compiler_version - cxx_compiler_version -- - c_stdlib_version - - cdt_name - - dnnl_cpu_runtime_name - dnnl_cpu_runtime diff --git a/.ci_support/linux_64_dnnl_cpu_runtimeomp.yaml b/.ci_support/linux_64_dnnl_cpu_runtimeomp.yaml index 47f69ed..1913370 100644 --- a/.ci_support/linux_64_dnnl_cpu_runtimeomp.yaml +++ b/.ci_support/linux_64_dnnl_cpu_runtimeomp.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -31,7 +31,5 @@ tbb_devel: zip_keys: - - c_compiler_version - cxx_compiler_version -- - c_stdlib_version - - cdt_name - - dnnl_cpu_runtime_name - dnnl_cpu_runtime diff --git a/.ci_support/linux_64_dnnl_cpu_runtimetbb.yaml b/.ci_support/linux_64_dnnl_cpu_runtimetbb.yaml index fd5b2fc..48c23e9 100644 --- a/.ci_support/linux_64_dnnl_cpu_runtimetbb.yaml +++ b/.ci_support/linux_64_dnnl_cpu_runtimetbb.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -31,7 +31,5 @@ tbb_devel: zip_keys: - - c_compiler_version - cxx_compiler_version -- - c_stdlib_version - - cdt_name - - dnnl_cpu_runtime_name - dnnl_cpu_runtime diff --git a/.ci_support/linux_64_dnnl_cpu_runtimethreadpool.yaml b/.ci_support/linux_64_dnnl_cpu_runtimethreadpool.yaml index fb87a4b..fa32f26 100644 --- a/.ci_support/linux_64_dnnl_cpu_runtimethreadpool.yaml +++ b/.ci_support/linux_64_dnnl_cpu_runtimethreadpool.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -31,7 +31,5 @@ tbb_devel: zip_keys: - - c_compiler_version - cxx_compiler_version -- - c_stdlib_version - - cdt_name - - dnnl_cpu_runtime_name - dnnl_cpu_runtime diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index c3f5c44..62a0995 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -11,7 +11,7 @@ c_stdlib_version: cdt_arch: - aarch64 cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -33,7 +33,5 @@ tbb: zip_keys: - - c_compiler_version - cxx_compiler_version -- - c_stdlib_version - - cdt_name - - dnnl_cpu_runtime_name - dnnl_cpu_runtime diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 112e2f4..84adabd 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -29,7 +29,5 @@ tbb: zip_keys: - - c_compiler_version - cxx_compiler_version -- - c_stdlib_version - - cdt_name - - dnnl_cpu_runtime_name - dnnl_cpu_runtime From d55934aa4d6cdb083a7e1b2a1ed4e1f46eef1eb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Mon, 11 Nov 2024 14:41:29 +0100 Subject: [PATCH 03/16] Restrict experimental ukernel to x64 The experimental ukernel code seems to be referencing routines that are only implemented in `src/cpu/x64`, and it fails to build on aarch64 and ppc64. Restrict enabling it to x64 appropriately. --- recipe/build-onednn.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/recipe/build-onednn.sh b/recipe/build-onednn.sh index f0f6d19..f0e3710 100644 --- a/recipe/build-onednn.sh +++ b/recipe/build-onednn.sh @@ -26,11 +26,17 @@ elif [[ "${dnnl_cpu_runtime}" == "dpcpp" ]]; then DNNL_GPU_RUNTIME="DPCPP" fi +DNNL_EXPERIMENTAL_UKERNEL=OFF # DNNL_EXPERIMENTAL_UKERNEL required by PyTorch +# However, it requires routines implemented for x64 only. +case ${target_platform} in + linux-64|osx-64) + DNNL_EXPERIMENTAL_UKERNEL=ON;; +esac cmake ${CMAKE_ARGS} -GNinja \ -DDNNL_CPU_RUNTIME=${DNNL_CPU_RUNTIME} \ -DDNNL_GPU_RUNTIME=${DNNL_GPU_RUNTIME} \ - -DDNNL_EXPERIMENTAL_UKERNEL=ON \ + -DDNNL_EXPERIMENTAL_UKERNEL=${DNNL_EXPERIMENTAL_UKERNEL} \ .. ninja install if [[ "${CONDA_BUILD_CROSS_COMPILATION:-0}" != 1 ]]; then From dd4f952256b61a4e0cc35ac2b1e2afa8baeeeb2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Mon, 11 Nov 2024 14:44:21 +0100 Subject: [PATCH 04/16] Enable DNNL_EXPERIMENTAL_UKERNEL required by PyTorch on Windows --- recipe/bld-onednn.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/bld-onednn.bat b/recipe/bld-onednn.bat index 2fb8431..f418adb 100644 --- a/recipe/bld-onednn.bat +++ b/recipe/bld-onednn.bat @@ -23,10 +23,12 @@ if [%dnnl_cpu_runtime%]==[dpcpp] ( set "INCLUDE=%BUILD_PREFIX%\include;%INCLUDE%" ) +:: DNNL_EXPERIMENTAL_UKERNEL required by PyTorch cmake -GNinja %CMAKE_ARGS% ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DDNNL_CPU_RUNTIME=%DNNL_CPU_RUNTIME% ^ -DDNNL_GPU_RUNTIME=%DNNL_GPU_RUNTIME% ^ + -DDNNL_EXPERIMENTAL_UKERNEL=ON ^ .. if errorlevel 1 exit 1 ninja install From afaad11ce6e87baf57764f3957344eb647484acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Mon, 11 Nov 2024 14:46:32 +0100 Subject: [PATCH 05/16] MNT: Re-rendered with conda-build 24.9.0, conda-smithy 3.44.3, and conda-forge-pinning 2024.11.11.08.59.26 --- .scripts/run_win_build.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 1f2ec52..3aaf80c 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -34,8 +34,8 @@ call "%MICROMAMBA_EXE%" create --yes --root-prefix "%MAMBA_ROOT_PREFIX%" --prefi pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" if !errorlevel! neq 0 exit /b !errorlevel! echo Removing %MAMBA_ROOT_PREFIX% -del /S /Q "%MAMBA_ROOT_PREFIX%" -del /S /Q "%MICROMAMBA_TMPDIR%" +del /S /Q "%MAMBA_ROOT_PREFIX%" >nul +del /S /Q "%MICROMAMBA_TMPDIR%" >nul call :start_group "Configuring conda" From 9406a1103b0bd95674507ac42162caea12715e2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Tue, 12 Nov 2024 20:36:19 +0100 Subject: [PATCH 06/16] Enable DNNL_EXPERIMENTAL_UKERNEL via a dedicated variant --- recipe/bld-onednn.bat | 2 +- recipe/build-onednn.sh | 9 +-------- recipe/conda_build_config.yaml | 10 ++++++++++ recipe/meta.yaml | 2 +- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/recipe/bld-onednn.bat b/recipe/bld-onednn.bat index f418adb..f315363 100644 --- a/recipe/bld-onednn.bat +++ b/recipe/bld-onednn.bat @@ -28,7 +28,7 @@ cmake -GNinja %CMAKE_ARGS% ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DDNNL_CPU_RUNTIME=%DNNL_CPU_RUNTIME% ^ -DDNNL_GPU_RUNTIME=%DNNL_GPU_RUNTIME% ^ - -DDNNL_EXPERIMENTAL_UKERNEL=ON ^ + -DDNNL_EXPERIMENTAL_UKERNEL=%dnnl_experimental_ukernel% ^ .. if errorlevel 1 exit 1 ninja install diff --git a/recipe/build-onednn.sh b/recipe/build-onednn.sh index f0e3710..2c49d84 100644 --- a/recipe/build-onednn.sh +++ b/recipe/build-onednn.sh @@ -26,17 +26,10 @@ elif [[ "${dnnl_cpu_runtime}" == "dpcpp" ]]; then DNNL_GPU_RUNTIME="DPCPP" fi -DNNL_EXPERIMENTAL_UKERNEL=OFF -# DNNL_EXPERIMENTAL_UKERNEL required by PyTorch -# However, it requires routines implemented for x64 only. -case ${target_platform} in - linux-64|osx-64) - DNNL_EXPERIMENTAL_UKERNEL=ON;; -esac cmake ${CMAKE_ARGS} -GNinja \ -DDNNL_CPU_RUNTIME=${DNNL_CPU_RUNTIME} \ -DDNNL_GPU_RUNTIME=${DNNL_GPU_RUNTIME} \ - -DDNNL_EXPERIMENTAL_UKERNEL=${DNNL_EXPERIMENTAL_UKERNEL} \ + -DDNNL_EXPERIMENTAL_UKERNEL=${dnnl_experimental_ukernel} \ .. ninja install if [[ "${CONDA_BUILD_CROSS_COMPILATION:-0}" != 1 ]]; then diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 180e3d3..3e99f74 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -5,16 +5,26 @@ docker_image: # [x86_64 and linux64] dnnl_cpu_runtime: - tbb # [not (ppc64le or aarch64)] - omp + - omp # [x86_64] - threadpool # [not (ppc64le or aarch64 or arm64)] - dpcpp # [x86_64 and linux64] dnnl_cpu_runtime_name: - cpu-tbb # [not (ppc64le or aarch64)] - cpu-omp + - cpu-omp # [x86_64] - cpu-threadpool # [not (ppc64le or aarch64 or arm64)] - dpcpp # [x86_64 and linux64] +dnnl_experimental_ukernel: + - no # [not (ppc64le or aarch64)] + - no + - yes # [x86_64] + - no # [not (ppc64le or aarch64 or arm64)] + - no # [x86_64 and linux64] + zip_keys: - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ffc43e0..c34daa0 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,7 +18,7 @@ outputs: script: bld-onednn.bat # [win] version: {{ version }} build: - string: {{ dnnl_cpu_runtime }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} + string: {{ dnnl_cpu_runtime }}{{ dnnl_experimental_ukernel }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} run_exports: - {{ pin_subpackage("onednn", max_pin="x") }} {% if dnnl_cpu_runtime != "omp" %} From cd3b1fbd094c8626c08d1ff9c72d5f69abc106a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Tue, 12 Nov 2024 20:36:59 +0100 Subject: [PATCH 07/16] MNT: Re-rendered with conda-build 24.9.0, conda-smithy 3.44.3, and conda-forge-pinning 2024.11.12.14.24.54 --- .azure-pipelines/azure-pipelines-linux.yml | 20 +++--- .azure-pipelines/azure-pipelines-osx.yml | 15 +++-- .azure-pipelines/azure-pipelines-win.yml | 15 +++-- ...timedpcppdnnl_experimental_ukernelno.yaml} | 3 + ...untimeompdnnl_experimental_ukernelno.yaml} | 3 + ...untimeompdnnl_experimental_ukernelyes.yaml | 38 +++++++++++ ...untimetbbdnnl_experimental_ukernelno.yaml} | 3 + ...hreadpooldnnl_experimental_ukernelno.yaml} | 3 + .ci_support/linux_aarch64_.yaml | 3 + .ci_support/linux_ppc64le_.yaml | 3 + ...untimeompdnnl_experimental_ukernelno.yaml} | 3 + ...untimeompdnnl_experimental_ukernelyes.yaml | 42 ++++++++++++ ...untimetbbdnnl_experimental_ukernelno.yaml} | 3 + ...hreadpooldnnl_experimental_ukernelno.yaml} | 3 + .../osx_arm64_dnnl_cpu_runtimeomp.yaml | 3 + .../osx_arm64_dnnl_cpu_runtimetbb.yaml | 3 + ...untimeompdnnl_experimental_ukernelno.yaml} | 3 + ...untimeompdnnl_experimental_ukernelyes.yaml | 26 ++++++++ ...untimetbbdnnl_experimental_ukernelno.yaml} | 3 + ...hreadpooldnnl_experimental_ukernelno.yaml} | 3 + README.md | 65 +++++++++++++------ 21 files changed, 222 insertions(+), 41 deletions(-) rename .ci_support/{linux_64_dnnl_cpu_runtimedpcpp.yaml => linux_64_dnnl_cpu_runtimedpcppdnnl_experimental_ukernelno.yaml} (88%) rename .ci_support/{linux_64_dnnl_cpu_runtimeomp.yaml => linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml} (88%) create mode 100644 .ci_support/linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml rename .ci_support/{linux_64_dnnl_cpu_runtimetbb.yaml => linux_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml} (88%) rename .ci_support/{linux_64_dnnl_cpu_runtimethreadpool.yaml => linux_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml} (89%) rename .ci_support/{osx_64_dnnl_cpu_runtimeomp.yaml => osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml} (90%) create mode 100644 .ci_support/osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml rename .ci_support/{osx_64_dnnl_cpu_runtimetbb.yaml => osx_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml} (90%) rename .ci_support/{osx_64_dnnl_cpu_runtimethreadpool.yaml => osx_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml} (90%) rename .ci_support/{win_64_dnnl_cpu_runtimeomp.yaml => win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml} (82%) create mode 100644 .ci_support/win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml rename .ci_support/{win_64_dnnl_cpu_runtimetbb.yaml => win_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml} (82%) rename .ci_support/{win_64_dnnl_cpu_runtimethreadpool.yaml => win_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml} (83%) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 1fe2298..201f251 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,20 +8,24 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_dnnl_cpu_runtimedpcpp: - CONFIG: linux_64_dnnl_cpu_runtimedpcpp + linux_64_dnnl_cpu_runtimedpcppdnnl_experimental_ukernelno: + CONFIG: linux_64_dnnl_cpu_runtimedpcppdnnl_experimental_ukernelno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-alma-x86_64:8 - linux_64_dnnl_cpu_runtimeomp: - CONFIG: linux_64_dnnl_cpu_runtimeomp + linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno: + CONFIG: linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-alma-x86_64:8 - linux_64_dnnl_cpu_runtimetbb: - CONFIG: linux_64_dnnl_cpu_runtimetbb + linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes: + CONFIG: linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-alma-x86_64:8 - linux_64_dnnl_cpu_runtimethreadpool: - CONFIG: linux_64_dnnl_cpu_runtimethreadpool + linux_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno: + CONFIG: linux_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-alma-x86_64:8 + linux_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno: + CONFIG: linux_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-alma-x86_64:8 linux_aarch64_: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index da0d656..093af3c 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,14 +8,17 @@ jobs: vmImage: macOS-13 strategy: matrix: - osx_64_dnnl_cpu_runtimeomp: - CONFIG: osx_64_dnnl_cpu_runtimeomp + osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno: + CONFIG: osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno UPLOAD_PACKAGES: 'True' - osx_64_dnnl_cpu_runtimetbb: - CONFIG: osx_64_dnnl_cpu_runtimetbb + osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes: + CONFIG: osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes UPLOAD_PACKAGES: 'True' - osx_64_dnnl_cpu_runtimethreadpool: - CONFIG: osx_64_dnnl_cpu_runtimethreadpool + osx_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno: + CONFIG: osx_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno + UPLOAD_PACKAGES: 'True' + osx_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno: + CONFIG: osx_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno UPLOAD_PACKAGES: 'True' osx_arm64_dnnl_cpu_runtimeomp: CONFIG: osx_arm64_dnnl_cpu_runtimeomp diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 22e017e..7348d78 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,14 +8,17 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_dnnl_cpu_runtimeomp: - CONFIG: win_64_dnnl_cpu_runtimeomp + win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno: + CONFIG: win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno UPLOAD_PACKAGES: 'True' - win_64_dnnl_cpu_runtimetbb: - CONFIG: win_64_dnnl_cpu_runtimetbb + win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes: + CONFIG: win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes UPLOAD_PACKAGES: 'True' - win_64_dnnl_cpu_runtimethreadpool: - CONFIG: win_64_dnnl_cpu_runtimethreadpool + win_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno: + CONFIG: win_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno + UPLOAD_PACKAGES: 'True' + win_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno: + CONFIG: win_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: diff --git a/.ci_support/linux_64_dnnl_cpu_runtimedpcpp.yaml b/.ci_support/linux_64_dnnl_cpu_runtimedpcppdnnl_experimental_ukernelno.yaml similarity index 88% rename from .ci_support/linux_64_dnnl_cpu_runtimedpcpp.yaml rename to .ci_support/linux_64_dnnl_cpu_runtimedpcppdnnl_experimental_ukernelno.yaml index d902175..87cb8fe 100644 --- a/.ci_support/linux_64_dnnl_cpu_runtimedpcpp.yaml +++ b/.ci_support/linux_64_dnnl_cpu_runtimedpcppdnnl_experimental_ukernelno.yaml @@ -20,6 +20,8 @@ dnnl_cpu_runtime: - dpcpp dnnl_cpu_runtime_name: - dpcpp +dnnl_experimental_ukernel: +- 'no' docker_image: - quay.io/condaforge/linux-anvil-alma-x86_64:8 target_platform: @@ -33,3 +35,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/linux_64_dnnl_cpu_runtimeomp.yaml b/.ci_support/linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml similarity index 88% rename from .ci_support/linux_64_dnnl_cpu_runtimeomp.yaml rename to .ci_support/linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml index 1913370..079c0fe 100644 --- a/.ci_support/linux_64_dnnl_cpu_runtimeomp.yaml +++ b/.ci_support/linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml @@ -20,6 +20,8 @@ dnnl_cpu_runtime: - omp dnnl_cpu_runtime_name: - cpu-omp +dnnl_experimental_ukernel: +- 'no' docker_image: - quay.io/condaforge/linux-anvil-alma-x86_64:8 target_platform: @@ -33,3 +35,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml b/.ci_support/linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml new file mode 100644 index 0000000..2f44e2c --- /dev/null +++ b/.ci_support/linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml @@ -0,0 +1,38 @@ +c_compiler: +- gcc +c_compiler_version: +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '13' +dnnl_cpu_runtime: +- omp +dnnl_cpu_runtime_name: +- cpu-omp +dnnl_experimental_ukernel: +- 'yes' +docker_image: +- quay.io/condaforge/linux-anvil-alma-x86_64:8 +target_platform: +- linux-64 +tbb: +- '2021' +tbb_devel: +- '2021' +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - dnnl_cpu_runtime_name + - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/linux_64_dnnl_cpu_runtimetbb.yaml b/.ci_support/linux_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml similarity index 88% rename from .ci_support/linux_64_dnnl_cpu_runtimetbb.yaml rename to .ci_support/linux_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml index 48c23e9..cd4e687 100644 --- a/.ci_support/linux_64_dnnl_cpu_runtimetbb.yaml +++ b/.ci_support/linux_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml @@ -20,6 +20,8 @@ dnnl_cpu_runtime: - tbb dnnl_cpu_runtime_name: - cpu-tbb +dnnl_experimental_ukernel: +- 'no' docker_image: - quay.io/condaforge/linux-anvil-alma-x86_64:8 target_platform: @@ -33,3 +35,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/linux_64_dnnl_cpu_runtimethreadpool.yaml b/.ci_support/linux_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml similarity index 89% rename from .ci_support/linux_64_dnnl_cpu_runtimethreadpool.yaml rename to .ci_support/linux_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml index fa32f26..b7faee9 100644 --- a/.ci_support/linux_64_dnnl_cpu_runtimethreadpool.yaml +++ b/.ci_support/linux_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml @@ -20,6 +20,8 @@ dnnl_cpu_runtime: - threadpool dnnl_cpu_runtime_name: - cpu-threadpool +dnnl_experimental_ukernel: +- 'no' docker_image: - quay.io/condaforge/linux-anvil-alma-x86_64:8 target_platform: @@ -33,3 +35,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 62a0995..9598471 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -24,6 +24,8 @@ dnnl_cpu_runtime: - omp dnnl_cpu_runtime_name: - cpu-omp +dnnl_experimental_ukernel: +- 'no' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: @@ -35,3 +37,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 84adabd..51daf19 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -20,6 +20,8 @@ dnnl_cpu_runtime: - omp dnnl_cpu_runtime_name: - cpu-omp +dnnl_experimental_ukernel: +- 'no' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: @@ -31,3 +33,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/osx_64_dnnl_cpu_runtimeomp.yaml b/.ci_support/osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml similarity index 90% rename from .ci_support/osx_64_dnnl_cpu_runtimeomp.yaml rename to .ci_support/osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml index 0094123..34ffaf4 100644 --- a/.ci_support/osx_64_dnnl_cpu_runtimeomp.yaml +++ b/.ci_support/osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml @@ -22,6 +22,8 @@ dnnl_cpu_runtime: - omp dnnl_cpu_runtime_name: - cpu-omp +dnnl_experimental_ukernel: +- 'no' llvm_openmp: - '18' macos_machine: @@ -37,3 +39,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml b/.ci_support/osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml new file mode 100644 index 0000000..975df2a --- /dev/null +++ b/.ci_support/osx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml @@ -0,0 +1,42 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +c_compiler: +- clang +c_compiler_version: +- '18' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '18' +dnnl_cpu_runtime: +- omp +dnnl_cpu_runtime_name: +- cpu-omp +dnnl_experimental_ukernel: +- 'yes' +llvm_openmp: +- '18' +macos_machine: +- x86_64-apple-darwin13.4.0 +target_platform: +- osx-64 +tbb: +- '2021' +tbb_devel: +- '2021' +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - dnnl_cpu_runtime_name + - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/osx_64_dnnl_cpu_runtimetbb.yaml b/.ci_support/osx_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml similarity index 90% rename from .ci_support/osx_64_dnnl_cpu_runtimetbb.yaml rename to .ci_support/osx_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml index c3e0266..9f807b3 100644 --- a/.ci_support/osx_64_dnnl_cpu_runtimetbb.yaml +++ b/.ci_support/osx_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml @@ -22,6 +22,8 @@ dnnl_cpu_runtime: - tbb dnnl_cpu_runtime_name: - cpu-tbb +dnnl_experimental_ukernel: +- 'no' llvm_openmp: - '18' macos_machine: @@ -37,3 +39,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/osx_64_dnnl_cpu_runtimethreadpool.yaml b/.ci_support/osx_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml similarity index 90% rename from .ci_support/osx_64_dnnl_cpu_runtimethreadpool.yaml rename to .ci_support/osx_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml index 562deeb..c3b7be6 100644 --- a/.ci_support/osx_64_dnnl_cpu_runtimethreadpool.yaml +++ b/.ci_support/osx_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml @@ -22,6 +22,8 @@ dnnl_cpu_runtime: - threadpool dnnl_cpu_runtime_name: - cpu-threadpool +dnnl_experimental_ukernel: +- 'no' llvm_openmp: - '18' macos_machine: @@ -37,3 +39,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/osx_arm64_dnnl_cpu_runtimeomp.yaml b/.ci_support/osx_arm64_dnnl_cpu_runtimeomp.yaml index cb37d8f..d956166 100644 --- a/.ci_support/osx_arm64_dnnl_cpu_runtimeomp.yaml +++ b/.ci_support/osx_arm64_dnnl_cpu_runtimeomp.yaml @@ -22,6 +22,8 @@ dnnl_cpu_runtime: - omp dnnl_cpu_runtime_name: - cpu-omp +dnnl_experimental_ukernel: +- 'no' llvm_openmp: - '18' macos_machine: @@ -37,3 +39,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/osx_arm64_dnnl_cpu_runtimetbb.yaml b/.ci_support/osx_arm64_dnnl_cpu_runtimetbb.yaml index 2200fb4..d8afdbf 100644 --- a/.ci_support/osx_arm64_dnnl_cpu_runtimetbb.yaml +++ b/.ci_support/osx_arm64_dnnl_cpu_runtimetbb.yaml @@ -22,6 +22,8 @@ dnnl_cpu_runtime: - tbb dnnl_cpu_runtime_name: - cpu-tbb +dnnl_experimental_ukernel: +- 'no' llvm_openmp: - '18' macos_machine: @@ -37,3 +39,4 @@ zip_keys: - cxx_compiler_version - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/win_64_dnnl_cpu_runtimeomp.yaml b/.ci_support/win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml similarity index 82% rename from .ci_support/win_64_dnnl_cpu_runtimeomp.yaml rename to .ci_support/win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml index bcc08af..2024f63 100644 --- a/.ci_support/win_64_dnnl_cpu_runtimeomp.yaml +++ b/.ci_support/win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno.yaml @@ -12,6 +12,8 @@ dnnl_cpu_runtime: - omp dnnl_cpu_runtime_name: - cpu-omp +dnnl_experimental_ukernel: +- 'no' target_platform: - win-64 tbb: @@ -21,3 +23,4 @@ tbb_devel: zip_keys: - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml b/.ci_support/win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml new file mode 100644 index 0000000..b7755bf --- /dev/null +++ b/.ci_support/win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes.yaml @@ -0,0 +1,26 @@ +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- vs2019 +dnnl_cpu_runtime: +- omp +dnnl_cpu_runtime_name: +- cpu-omp +dnnl_experimental_ukernel: +- 'yes' +target_platform: +- win-64 +tbb: +- '2021' +tbb_devel: +- '2021' +zip_keys: +- - dnnl_cpu_runtime_name + - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/win_64_dnnl_cpu_runtimetbb.yaml b/.ci_support/win_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml similarity index 82% rename from .ci_support/win_64_dnnl_cpu_runtimetbb.yaml rename to .ci_support/win_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml index dd3c254..0a96328 100644 --- a/.ci_support/win_64_dnnl_cpu_runtimetbb.yaml +++ b/.ci_support/win_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno.yaml @@ -12,6 +12,8 @@ dnnl_cpu_runtime: - tbb dnnl_cpu_runtime_name: - cpu-tbb +dnnl_experimental_ukernel: +- 'no' target_platform: - win-64 tbb: @@ -21,3 +23,4 @@ tbb_devel: zip_keys: - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/.ci_support/win_64_dnnl_cpu_runtimethreadpool.yaml b/.ci_support/win_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml similarity index 83% rename from .ci_support/win_64_dnnl_cpu_runtimethreadpool.yaml rename to .ci_support/win_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml index f7fb67b..91ed886 100644 --- a/.ci_support/win_64_dnnl_cpu_runtimethreadpool.yaml +++ b/.ci_support/win_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno.yaml @@ -12,6 +12,8 @@ dnnl_cpu_runtime: - threadpool dnnl_cpu_runtime_name: - cpu-threadpool +dnnl_experimental_ukernel: +- 'no' target_platform: - win-64 tbb: @@ -21,3 +23,4 @@ tbb_devel: zip_keys: - - dnnl_cpu_runtime_name - dnnl_cpu_runtime + - dnnl_experimental_ukernel diff --git a/README.md b/README.md index c1664e9..4d24a7b 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,9 @@ Deep learning practitioners should use one of the applications enabled with oneDNN. -In this package oneDNN is built with the TBB CPU runtime. +In this package oneDNN is built with the Threadpool CPU runtime. +oneDNN requires the user to implement a Threadpool interface to enable +the library to perform computations using multiple threads. For more information please read oneDNN developer guide: @@ -163,31 +165,38 @@ Current build status - + + + + - + - + - + @@ -205,24 +214,31 @@ Current build status - + - + - + + + + @@ -240,24 +256,31 @@ Current build status - + + + + - + - + From 1c21e9da7d87061789bd3a66e3e0cf67d4cec7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 13 Nov 2024 12:40:29 +0000 Subject: [PATCH 08/16] Apply suggestions from code review Co-authored-by: Isuru Fernando --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c34daa0..d394662 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,7 +18,8 @@ outputs: script: bld-onednn.bat # [win] version: {{ version }} build: - string: {{ dnnl_cpu_runtime }}{{ dnnl_experimental_ukernel }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} + string: {{ dnnl_cpu_runtime }}_experimental_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [dnnl_experimental_ukernel == "yes"] + string: {{ dnnl_cpu_runtime }}_stable_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [dnnl_experimental_ukernel == "no"] run_exports: - {{ pin_subpackage("onednn", max_pin="x") }} {% if dnnl_cpu_runtime != "omp" %} From e7e110554403d597d65ebdc17798d3f3ed0b69d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 13 Nov 2024 13:57:55 +0100 Subject: [PATCH 09/16] Pin the experimental build to the exact package version --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d394662..d27364a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,7 +21,8 @@ outputs: string: {{ dnnl_cpu_runtime }}_experimental_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [dnnl_experimental_ukernel == "yes"] string: {{ dnnl_cpu_runtime }}_stable_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [dnnl_experimental_ukernel == "no"] run_exports: - - {{ pin_subpackage("onednn", max_pin="x") }} + - {{ pin_subpackage("onednn", min_pin="x.x.x", max_pin="x.x.x") }} # [dnnl_experimental_ukernel == "yes"] + - {{ pin_subpackage("onednn", max_pin="x") }} # [dnnl_experimental_ukernel == "no"] {% if dnnl_cpu_runtime != "omp" %} track_features: - onednn-{{ dnnl_cpu_runtime }} From 2317ad4cd8b3a393f82b048ea3af889bb75c7078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 13 Nov 2024 14:00:44 +0100 Subject: [PATCH 10/16] Track experimental feature --- recipe/meta.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d27364a..41d796b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,10 +23,13 @@ outputs: run_exports: - {{ pin_subpackage("onednn", min_pin="x.x.x", max_pin="x.x.x") }} # [dnnl_experimental_ukernel == "yes"] - {{ pin_subpackage("onednn", max_pin="x") }} # [dnnl_experimental_ukernel == "no"] - {% if dnnl_cpu_runtime != "omp" %} track_features: + {% if dnnl_cpu_runtime != "omp" %} - onednn-{{ dnnl_cpu_runtime }} {% endif %} + {% if dnnl_experimental_ukernel != "no" %} + - onednn-experimental + {% endif %} requirements: build: - cmake From 4cf830729a5489ccc262e5b66891565dbcf6bc9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 13 Nov 2024 14:01:49 +0100 Subject: [PATCH 11/16] MNT: Re-rendered with conda-build 24.9.0, conda-smithy 3.44.3, and conda-forge-pinning 2024.11.12.14.24.54 --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 4d24a7b..72ee6ea 100644 --- a/README.md +++ b/README.md @@ -32,9 +32,7 @@ Deep learning practitioners should use one of the applications enabled with oneDNN. -In this package oneDNN is built with the Threadpool CPU runtime. -oneDNN requires the user to implement a Threadpool interface to enable -the library to perform computations using multiple threads. +In this package oneDNN is built with the TBB CPU runtime. For more information please read oneDNN developer guide: From b94a631c35945b66333f1fcf854ccbbcc6c9a369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 13 Nov 2024 14:06:35 +0100 Subject: [PATCH 12/16] MNT: Re-rendered with conda-build 24.9.0, conda-smithy 3.44.3, and conda-forge-pinning 2024.11.12.14.24.54 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 72ee6ea..298bfe2 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Deep learning practitioners should use one of the applications enabled with oneDNN. -In this package oneDNN is built with the TBB CPU runtime. +In this package oneDNN is built with the OpenMP CPU runtime. For more information please read oneDNN developer guide: From 44b927df668987c38787966b801e9d93656f939c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 13 Nov 2024 18:23:00 +0000 Subject: [PATCH 13/16] Apply suggestions from code review Co-authored-by: Isuru Fernando --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 41d796b..4134e08 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,7 +21,7 @@ outputs: string: {{ dnnl_cpu_runtime }}_experimental_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [dnnl_experimental_ukernel == "yes"] string: {{ dnnl_cpu_runtime }}_stable_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [dnnl_experimental_ukernel == "no"] run_exports: - - {{ pin_subpackage("onednn", min_pin="x.x.x", max_pin="x.x.x") }} # [dnnl_experimental_ukernel == "yes"] + - {{ pin_subpackage("onednn", max_pin="x.x.x") }} # [dnnl_experimental_ukernel == "yes"] - {{ pin_subpackage("onednn", max_pin="x") }} # [dnnl_experimental_ukernel == "no"] track_features: {% if dnnl_cpu_runtime != "omp" %} From e4ab0b88e54770f0c4ceb1d515a2afe9867a8ad1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 13 Nov 2024 19:04:54 +0000 Subject: [PATCH 14/16] Apply suggestions from code review Co-authored-by: Isuru Fernando --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4134e08..2b900bf 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,6 +23,7 @@ outputs: run_exports: - {{ pin_subpackage("onednn", max_pin="x.x.x") }} # [dnnl_experimental_ukernel == "yes"] - {{ pin_subpackage("onednn", max_pin="x") }} # [dnnl_experimental_ukernel == "no"] + - onednn {{ PKG_VERSION }} *_experimental_* track_features: {% if dnnl_cpu_runtime != "omp" %} - onednn-{{ dnnl_cpu_runtime }} From ebbc912e3e9380745cd8805d1627d08266f7002c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 3 Jan 2025 13:46:20 +0100 Subject: [PATCH 15/16] MNT: Re-rendered with conda-build 24.11.2, conda-smithy 3.45.1, and conda-forge-pinning 2025.01.02.20.43.49 --- .azure-pipelines/azure-pipelines-linux.yml | 4 ++-- .azure-pipelines/azure-pipelines-win.yml | 1 + .ci_support/linux_aarch64_.yaml | 6 +----- .ci_support/linux_ppc64le_.yaml | 2 +- .scripts/run_osx_build.sh | 5 +++-- .scripts/run_win_build.bat | 1 + README.md | 2 +- build-locally.py | 7 +++++++ 8 files changed, 17 insertions(+), 11 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 201f251..47d8840 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -31,11 +31,11 @@ jobs: linux_aarch64_: CONFIG: linux_aarch64_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 linux_ppc64le_: CONFIG: linux_ppc64le_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 7348d78..14352f1 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -33,6 +33,7 @@ jobs: displayName: Run Windows build env: MINIFORGE_HOME: $(MINIFORGE_HOME) + CONDA_BLD_PATH: $(CONDA_BLD_PATH) PYTHONUNBUFFERED: 1 CONFIG: $(CONFIG) CI: azure diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 9598471..a12ad14 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -1,5 +1,3 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu c_compiler: - gcc c_compiler_version: @@ -8,8 +6,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_arch: -- aarch64 cdt_name: - conda channel_sources: @@ -27,7 +23,7 @@ dnnl_cpu_runtime_name: dnnl_experimental_ukernel: - 'no' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 target_platform: - linux-aarch64 tbb: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 51daf19..573d66b 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -23,7 +23,7 @@ dnnl_cpu_runtime_name: dnnl_experimental_ukernel: - 'no' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 target_platform: - linux-ppc64le tbb: diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 0b36498..0e3c394 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -6,8 +6,9 @@ source .scripts/logging_utils.sh set -xe -MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} -MINIFORGE_HOME=${MINIFORGE_HOME%/} # remove trailing slash +MINIFORGE_HOME="${MINIFORGE_HOME:-${HOME}/miniforge3}" +MINIFORGE_HOME="${MINIFORGE_HOME%/}" # remove trailing slash +export CONDA_BLD_PATH="${CONDA_BLD_PATH:-${MINIFORGE_HOME}/conda-bld}" ( startgroup "Provisioning base env with micromamba" ) 2> /dev/null MICROMAMBA_VERSION="1.5.10-0" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 3aaf80c..283e143 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -36,6 +36,7 @@ if !errorlevel! neq 0 exit /b !errorlevel! echo Removing %MAMBA_ROOT_PREFIX% del /S /Q "%MAMBA_ROOT_PREFIX%" >nul del /S /Q "%MICROMAMBA_TMPDIR%" >nul +call :end_group call :start_group "Configuring conda" diff --git a/README.md b/README.md index 298bfe2..72ee6ea 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Deep learning practitioners should use one of the applications enabled with oneDNN. -In this package oneDNN is built with the OpenMP CPU runtime. +In this package oneDNN is built with the TBB CPU runtime. For more information please read oneDNN developer guide: diff --git a/build-locally.py b/build-locally.py index 6788aea..c4a56c6 100755 --- a/build-locally.py +++ b/build-locally.py @@ -26,6 +26,13 @@ def setup_environment(ns): os.path.dirname(__file__), "miniforge3" ) + # The default cache location might not be writable using docker on macOS. + if ns.config.startswith("linux") and platform.system() == "Darwin": + os.environ["CONDA_FORGE_DOCKER_RUN_ARGS"] = ( + os.environ.get("CONDA_FORGE_DOCKER_RUN_ARGS", "") + + " -e RATTLER_CACHE_DIR=/tmp/rattler_cache" + ) + def run_docker_build(ns): script = ".scripts/run_docker_build.sh" From 4c6e2952873570a2831fc1747cafaf37666f51c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 3 Jan 2025 12:47:29 +0000 Subject: [PATCH 16/16] Apply suggestions from code review Co-authored-by: Isuru Fernando --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7e96aab..0dd9c24 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,7 +23,7 @@ outputs: run_exports: - {{ pin_subpackage("onednn", max_pin="x.x.x") }} # [dnnl_experimental_ukernel == "yes"] - {{ pin_subpackage("onednn", max_pin="x") }} # [dnnl_experimental_ukernel == "no"] - - onednn {{ PKG_VERSION }} *_experimental_* + - onednn {{ PKG_VERSION }} *_experimental_* # [dnnl_experimental_ukernel == "yes"] track_features: {% if dnnl_cpu_runtime != "omp" %} - onednn-{{ dnnl_cpu_runtime }}
VariantStatus
linux_64_dnnl_cpu_runtimedpcpplinux_64_dnnl_cpu_runtimedpcppdnnl_experimental_ukernelno + + variant + +
linux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno - variant + variant
linux_64_dnnl_cpu_runtimeomplinux_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes - variant + variant
linux_64_dnnl_cpu_runtimetbblinux_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno - variant + variant
linux_64_dnnl_cpu_runtimethreadpoollinux_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno - variant + variant
osx_64_dnnl_cpu_runtimeomposx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno - variant + variant
osx_64_dnnl_cpu_runtimetbbosx_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes - variant + variant
osx_64_dnnl_cpu_runtimethreadpoolosx_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno - variant + variant + +
osx_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno + + variant
win_64_dnnl_cpu_runtimeompwin_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelno + + variant + +
win_64_dnnl_cpu_runtimeompdnnl_experimental_ukernelyes - variant + variant
win_64_dnnl_cpu_runtimetbbwin_64_dnnl_cpu_runtimetbbdnnl_experimental_ukernelno - variant + variant
win_64_dnnl_cpu_runtimethreadpoolwin_64_dnnl_cpu_runtimethreadpooldnnl_experimental_ukernelno - variant + variant