From eeb4a178f4b3c2a5ba689406075fb49cc2834ebc Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Mon, 29 Sep 2025 14:42:35 +0200 Subject: [PATCH 1/2] fix: speed up Mooncake by avoiding tuple broadcasting --- .../ext/DifferentiationInterfaceMooncakeExt/forward_onearg.jl | 2 +- .../ext/DifferentiationInterfaceMooncakeExt/onearg.jl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DifferentiationInterface/ext/DifferentiationInterfaceMooncakeExt/forward_onearg.jl b/DifferentiationInterface/ext/DifferentiationInterfaceMooncakeExt/forward_onearg.jl index ebf8601d5..e8bee9ca8 100644 --- a/DifferentiationInterface/ext/DifferentiationInterfaceMooncakeExt/forward_onearg.jl +++ b/DifferentiationInterface/ext/DifferentiationInterfaceMooncakeExt/forward_onearg.jl @@ -47,7 +47,7 @@ function DI.value_and_pushforward( return y, dy end y = first(ys_and_ty[1]) - ty = last.(ys_and_ty) + ty = map(last, ys_and_ty) return y, ty end diff --git a/DifferentiationInterface/ext/DifferentiationInterfaceMooncakeExt/onearg.jl b/DifferentiationInterface/ext/DifferentiationInterfaceMooncakeExt/onearg.jl index dac2039ce..131035e6b 100644 --- a/DifferentiationInterface/ext/DifferentiationInterfaceMooncakeExt/onearg.jl +++ b/DifferentiationInterface/ext/DifferentiationInterfaceMooncakeExt/onearg.jl @@ -55,7 +55,7 @@ function DI.value_and_pullback( y, _copy_output(new_dx) end y = first(ys_and_tx[1]) - tx = last.(ys_and_tx) + tx = map(last, ys_and_tx) return y, tx end From ee4459c0ebec1370c7fe71f3fccb92ad274547c3 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Mon, 29 Sep 2025 16:19:14 +0200 Subject: [PATCH 2/2] chore: bump changelog and project --- DifferentiationInterface/CHANGELOG.md | 12 +++++++++++- DifferentiationInterface/Project.toml | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/DifferentiationInterface/CHANGELOG.md b/DifferentiationInterface/CHANGELOG.md index a5405599f..a32610174 100644 --- a/DifferentiationInterface/CHANGELOG.md +++ b/DifferentiationInterface/CHANGELOG.md @@ -5,12 +5,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased](https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.7.7...main) +## [Unreleased](https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.7.8...main) + +## [0.7.8](https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.7.7...DifferentiationInterface-v0.7.8) + +### Added - Support the new `ADTypes.NoAutoDiff` ([#851](https://github.com/JuliaDiff/DifferentiationInterface.jl/pull/851)) +### Fixed + + - Speed up Mooncake by avoiding tuple broadcasting ([#853](https://github.com/JuliaDiff/DifferentiationInterface.jl/pull/853)) + ## [0.7.7](https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.7.6...DifferentiationInterface-v0.7.7) +### Fixed + - Improve support for empty inputs (still not guaranteed) ([#835](https://github.com/JuliaDiff/DifferentiationInterface.jl/pull/835)) ## [0.7.6](https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.7.5...DifferentiationInterface-v0.7.6) diff --git a/DifferentiationInterface/Project.toml b/DifferentiationInterface/Project.toml index 3654bf71f..2b6919a77 100644 --- a/DifferentiationInterface/Project.toml +++ b/DifferentiationInterface/Project.toml @@ -1,7 +1,7 @@ name = "DifferentiationInterface" uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" authors = ["Guillaume Dalle", "Adrian Hill"] -version = "0.7.7" +version = "0.7.8" [deps] ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"