diff --git a/ML-Frameworks/pytorch-aarch64/CHANGELOG.md b/ML-Frameworks/pytorch-aarch64/CHANGELOG.md index bc90188c..f51bc593 100644 --- a/ML-Frameworks/pytorch-aarch64/CHANGELOG.md +++ b/ML-Frameworks/pytorch-aarch64/CHANGELOG.md @@ -21,6 +21,27 @@ where `YY` is the year, and `MM` the month of the increment. ### Fixed +## [r26.04] 2026-04-10 + +### Added + - Adds PyTorch [PR #177009](https://github.com/pytorch/pytorch/pull/177009), to accelerate SDPA on Arm CPUs. + - Adds oneDNN [PR #4911](https://github.com/uxlfoundation/oneDNN/pull/4911), to add LUT-based `gelu_erf` JIT implementations. + +### Changed + - Updates hashes for: + - `PYTORCH_HASH` to `fb69aa6b76c7ddbcac13ac3dd8b14625f4352ffd`, 2.12.0.dev20260328 from viable/strict, Mar 28th. + - `IDEEP_HASH` to `cbbfd4ad7c5ac6d7683af571055e95c948d8cf54`, from ideep_pytorch, Mar 17th. + - `ONEDNN_HASH` to `abc14842394f985313191bc1e3c69bb7f8cecd23`, from main, Mar 27th. + - `TORCH_AO_HASH` to `d5814ae2edf434bb7927d3d992b33239e6e2aa1b`, from main, Mar 29th. + - `KLEIDIAI_HASH` to `6c544373d1731d2b74435fc02f8bad5f4631b0b1`, v1.23.0 from main, Mar 25th. + - Updates `OPENBLAS_VERSION` from v0.3.30 to `d26960a21ec5da7f77377f28bd6e230060841ae0` from main, Mar 27th. + - Updates `torchvision` from 0.25.0.dev20260130 to 0.26.0.dev20260329. + +### Removed + - Removes PyTorch [PR #159859](https://github.com/pytorch/pytorch/pull/159859), which added PoC LUT optimisation for GELU bf16 operators. + +### Fixed + ## [r26.03] 2026-03-16 https://github.com/ARM-software/Tool-Solutions/tree/r26.03 diff --git a/ML-Frameworks/pytorch-aarch64/build-torch-ao-wheel.sh b/ML-Frameworks/pytorch-aarch64/build-torch-ao-wheel.sh index dfa18628..ac716cc6 100755 --- a/ML-Frameworks/pytorch-aarch64/build-torch-ao-wheel.sh +++ b/ML-Frameworks/pytorch-aarch64/build-torch-ao-wheel.sh @@ -60,7 +60,10 @@ if ! docker container inspect "$TORCH_BUILD_CONTAINER" >/dev/null 2>&1 ; then docker_exec rm -rf /acl docker_exec python${PYTHON_VERSION} -m venv ${TEST_VENV_CONTAINER_DIR} - docker_exec bash -c "source ${TEST_VENV_CONTAINER_DIR}/bin/activate && pip install typing_extensions torch wheel numpy --no-deps" + docker_exec bash -c " + source ${TEST_VENV_CONTAINER_DIR}/bin/activate && \ + pip install typing_extensions wheel numpy --no-deps && \ + pip install torch --index-url https://download.pytorch.org/whl/cpu" echo "Storing torch build container id in $TORCH_BUILD_CONTAINER_ID_FILE for reuse: $TORCH_BUILD_CONTAINER" echo "$TORCH_BUILD_CONTAINER" > "$TORCH_BUILD_CONTAINER_ID_FILE" diff --git a/ML-Frameworks/pytorch-aarch64/build-wheel.sh b/ML-Frameworks/pytorch-aarch64/build-wheel.sh index 0de38ef8..a7b91712 100755 --- a/ML-Frameworks/pytorch-aarch64/build-wheel.sh +++ b/ML-Frameworks/pytorch-aarch64/build-wheel.sh @@ -123,7 +123,7 @@ if ! docker container inspect "$TORCH_BUILD_CONTAINER" >/dev/null 2>&1 ; then # Currently changes in these scripts will not be applied without a clean # build, which is not ideal for dev work. But we have to balance this with # extra time/network traffic when rebuilding many times. - docker_exec bash "${PYTORCH_CONTAINER_DIR}/.circleci/scripts/binary_populate_env.sh" + docker_exec bash "${PYTORCH_CONTAINER_DIR}/.ci/pytorch/binary_populate_env.sh" # Install scons for the Compute Library (ACL) build docker_exec ${PYTHON_CONTAINER_BIN}/python3 -m pip install scons==4.7.0 diff --git a/ML-Frameworks/pytorch-aarch64/get-source.sh b/ML-Frameworks/pytorch-aarch64/get-source.sh index efa57adb..ea622167 100755 --- a/ML-Frameworks/pytorch-aarch64/get-source.sh +++ b/ML-Frameworks/pytorch-aarch64/get-source.sh @@ -24,20 +24,15 @@ git-shallow-clone https://github.com/pytorch/pytorch.git $PYTORCH_HASH # https://github.com/pytorch/pytorch/pull/170600 - Gate deletion of clean-up steps in build_common.sh apply-github-patch pytorch/pytorch e368ec2693b8b2b8ba35d0913f1d663ba2fdc804 - # FIXME: Temporarily disabled; to be updated in a later PR - # # https://github.com/pytorch/pytorch/pull/160184 - Draft: separate reqs for manywheel build and pin - # # Note: as part of this patch, setuptools is pinned to ~= 78.1.1 which is not affected by - # # CVE-2025-47273 and CVE-2024-6345 - # apply-github-patch pytorch/pytorch 4d344570e5a114fa522e3370c5d59161e2ed8619 - - # https://github.com/pytorch/pytorch/pull/159859 - PoC LUT optimisation for GELU bf16 operators - apply-github-patch pytorch/pytorch ebcc874e317f9563ab770fc5c27df969e0438a5e - # https://github.com/pytorch/pytorch/pull/167328 - Build cpuinfo into c10 shared library apply-github-patch pytorch/pytorch 7c053dd1582b778c81101dd452708c4ec6e58233 apply-github-patch pytorch/pytorch b1782bbe0eda5957870e2f6e95b8f167e04843cb apply-github-patch pytorch/pytorch 337925aed2babb3ef7808f78536bbbc9df346a4f + # https://github.com/pytorch/pytorch/pull/177009 - Accelerate SDPA on Arm CPUs: Unroll exp_sum and max_mul kernels + apply-github-patch pytorch/pytorch f6a6cc94e92636902acbbe443d00cec4a8efa12d + apply-github-patch pytorch/pytorch 253a1ea6db210c01178dd365922eb49fe4892fe7 + # Remove deps that we don't need for manylinux AArch64 CPU builds before fetching. # Only used when jni.h is present (see .ci/pytorch/build.sh:116), which is not the case for manylinux git rm android/libs/fbjni @@ -78,6 +73,9 @@ git-shallow-clone https://github.com/pytorch/pytorch.git $PYTORCH_HASH ( cd mkl-dnn git fetch origin $ONEDNN_HASH && git clean -f && git checkout -f FETCH_HEAD + + # https://github.com/uxlfoundation/oneDNN/pull/4911 - cpu: aarch64: add LUT-based gelu_erf JIT implementations #4911 + apply-github-patch uxlfoundation/oneDNN 86661869d4267b49db667ed7946eefba4e44d2c0 ) ) ( diff --git a/ML-Frameworks/pytorch-aarch64/versions.sh b/ML-Frameworks/pytorch-aarch64/versions.sh old mode 100644 new mode 100755 index 7b8efce6..73dd42a9 --- a/ML-Frameworks/pytorch-aarch64/versions.sh +++ b/ML-Frameworks/pytorch-aarch64/versions.sh @@ -9,15 +9,15 @@ # For information on how to update the versions below, read the README.md. # get-source.sh deps -PYTORCH_HASH=434b8cfdfac8ef7c741385561e340781ad76512f # 2.12.0.dev20260227 from viable/strict, Feb 27th -IDEEP_HASH=bbb9ffb9e0c401ca058b7f35a6ebe7d0e08ffd34 # From ideep_pytorch, Jan 16th -ONEDNN_HASH=a83f8b4c7ca45fb339f3ecdf82895bc496941808 # From main, Feb 27th -TORCH_AO_HASH=9bdc0ca87c1134b7c1dedaa9512233b726f22955 # From main, Feb 27th -KLEIDIAI_HASH=98a6df72bdbb566bc7d8ba13d71991bcd94a8393 # v1.22.0 from main, Feb 19th +PYTORCH_HASH=fb69aa6b76c7ddbcac13ac3dd8b14625f4352ffd # 2.12.0.dev20260328 from viable/strict, Mar 28th +IDEEP_HASH=cbbfd4ad7c5ac6d7683af571055e95c948d8cf54 # From ideep_pytorch, Mar 17th +ONEDNN_HASH=abc14842394f985313191bc1e3c69bb7f8cecd23 # From main, Mar 27th +TORCH_AO_HASH=d5814ae2edf434bb7927d3d992b33239e6e2aa1b # From main, Mar 29th +KLEIDIAI_HASH=6c544373d1731d2b74435fc02f8bad5f4631b0b1 # v1.23.0 from main, Mar 25th # build-wheel.sh deps -ACL_VERSION="v52.8.0" -OPENBLAS_VERSION="v0.3.30" +ACL_VERSION="v52.8.0" # Jan 23rd +OPENBLAS_VERSION="d26960a21ec5da7f77377f28bd6e230060841ae0" # Mar 27th # Dockerfile deps -TORCHVISION_NIGHTLY="0.25.0.dev20260130" +TORCHVISION_NIGHTLY="0.26.0.dev20260329" diff --git a/ML-Frameworks/tensorflow-aarch64/CHANGELOG.md b/ML-Frameworks/tensorflow-aarch64/CHANGELOG.md index 190dc56b..329da484 100644 --- a/ML-Frameworks/tensorflow-aarch64/CHANGELOG.md +++ b/ML-Frameworks/tensorflow-aarch64/CHANGELOG.md @@ -21,6 +21,18 @@ where `YY` is the year, and `MM` the month of the increment. ### Fixed +## [r26.04] 2026-04-10 + +### Added + +### Changed + - Replaces patch to bump ComputeLibrary version [from v24.12 to v52.4.0](https://github.com/tensorflow/tensorflow/pull/100882) with [one to bump to v52.8.0](https://github.com/tensorflow/tensorflow/pull/113368) + - Updates TensorFlow hash to 25cf6546b44bdb3d3f17277a4b49b027dcdc0ae7 from nightly, Mar 23rd + +### Removed + +### Fixed + ## [r26.03] 2026-03-16 https://github.com/ARM-software/Tool-Solutions/tree/r26.03 diff --git a/ML-Frameworks/tensorflow-aarch64/get-source.sh b/ML-Frameworks/tensorflow-aarch64/get-source.sh index 116f590a..ae7a343d 100755 --- a/ML-Frameworks/tensorflow-aarch64/get-source.sh +++ b/ML-Frameworks/tensorflow-aarch64/get-source.sh @@ -8,7 +8,7 @@ source ../utils/git-utils.sh set -eux -o pipefail -TENSORFLOW_HASH=535fc05dbac76cec4a446eec0bed866394167c05 # from nightly, Feb 25th +TENSORFLOW_HASH=25cf6546b44bdb3d3f17277a4b49b027dcdc0ae7 # from nightly, Mar 23rd git-shallow-clone https://github.com/tensorflow/tensorflow.git $TENSORFLOW_HASH @@ -17,8 +17,8 @@ git-shallow-clone https://github.com/tensorflow/tensorflow.git $TENSORFLOW_HASH # Apply TensorFlow WIP patches here - # https://github.com/tensorflow/tensorflow/pull/100882 - build(aarch64): Update Compute Library to 52.4.0 - apply-github-patch tensorflow/tensorflow f15bec785f25dacaf9ae18250e499274e4ec7fb1 + # https://github.com/tensorflow/tensorflow/pull/113368 - Bump Compute Library version from v24.12 to v52.8.0 + apply-github-patch tensorflow/tensorflow 189698cf3b3dab5375508ff2e02f6aba3a586323 # https://github.com/tensorflow/tensorflow/pull/102272 - Fix AArch64 CPUIDInfo init apply-github-patch tensorflow/tensorflow b6a9e1c1173d675533ffbb71c5eb36c7060ae2d0 )