Skip to content

v0.0.290

Latest

Choose a tag to compare

@wsmoses wsmoses released this 08 Aug 19:32
· 23 commits to main since this release
db618fa

What's Changed

  • add link to fortran bindings by @vchuravy in #2967
  • mlir: add enzyme.atomic_rmw op with ordering attribute by @pengmai in #2950
  • mlir: integrate dataflow activity analysis by @pengmai in #2970
  • mlir: llvm.select activity interface, zeroInPlace for llvm.alloca by @pengmai in #2972
  • mlir: remove dependency on linalg with enzyme.fill_zero op by @pengmai in #2973
  • mlir: derivative for maxnumf, pointer handling for arith.select by @pengmai in #2971
  • mlir: sink constants into autodiff_region when outlining by @pengmai in #2977
  • mlir: add atomic_add attribute to enzyme.autodiff and autodiff_region ops by @pengmai in #2974
  • No more linalg dep for enzyme pass (now lowering to fill op) by @wsmoses in #2976
  • mlir: pass to split ifs with multi-results into separate ops by @pengmai in #2975
  • mlir: support multi-dim gpu allocations in ForLikeEnzymeOpsRemover by @pengmai in #2980
  • Use gcp-cache for MLIR build cache by @wsmoses in #2981
  • [mlir] Support multi-dim dynamic memref caches by @pengmai in #2982
  • mlir: upstream interface implementations by @pengmai in #2983
  • [MLIR] Split registerCoreDialectAutodiffInterfaces into its own TU; trim pass deps by @vchuravy in #2988
  • Mark custream capture as inactive by @wsmoses in #2992
  • mlir: support non-index IVs in loops by @pengmai in #2993
  • Disable enzyme lit test ci for macos debug by @wsmoses in #2997
  • Add AIR compatibility by @pw0908 in #2934
  • Mark profile counter as integral by @wsmoses in #3000
  • GCP cache julia action if on relevant machine by @wsmoses in #3006
  • [MLIR] Add StoreLikeInterface to decouple activity analysis from stores by @vchuravy in #2978
  • Update to later llvm by @wsmoses in #3007
  • Fixes for mutable memory in scf.for reverse by @Pangoraw in #3009
  • [MLIR][Mincut] Add test for optimality issue for mincut by @wsmoses in #3013
  • mlir: mark outlined functions from enzyme.autodiff_region private by @pengmai in #3015
  • [MLIR][Mincut] Prefer last equal sized element in chain to cache by @wsmoses in #3017
  • mlir: mark loads of read-only pointers as movable during mincut by @pengmai in #2734
  • Speed up large constant ta by @wsmoses in #3002
  • [mlir] Make non-looping, non-nested RegionBranchOpInterface ops movable by min-cut by @pengmai in #3024
  • Prefer OptionalPassInfoMixin by @boomanaiden154 in #2996
  • Remove deprecated use of make_scope_exit by @boomanaiden154 in #3034
  • Do not use deprecated LLVM Typed pointer functions by @boomanaiden154 in #3033
  • mlir: loop-invariant cache for small stack allocas by @pengmai in #3030
  • Avoid getTerminator assertion on incomplete derivative block by @krystophny in #3023
  • Relax dynamic-loop derivative signature check by @krystophny in #3021
  • Don't add non-instructions to the min-cut recompute graph by @wsmoses in #3035
  • mlir: fix overly conservative check when marking readonly by @pengmai in #3039
  • [TA] Don't recurse infinitely on self-referential constant globals by @wsmoses in #3038
  • mlir: Fix Binomial checkpointing schedule and support for mutable memory + memory space by @wsmoses in #3042
  • Make IR emission order independent of C++ argument evaluation order by @wsmoses in #3044
  • Add a lint job for order-dependent IR emission by @wsmoses in #3045
  • Bind IRBuilder calls that share an argument list to locals by @wsmoses in #3046
  • Properly consider ptrsizehit addr by @wsmoses in #3047
  • mlir: Only delegate loop-carried caches to the loop remover by @wsmoses in #3049
  • mlir: Simplify enzyme ops before each remover, not only once per function by @wsmoses in #3050
  • Make the min cut graph's adjacency iteration deterministic by @wsmoses in #3058
  • MLIR fast math derivatives by @wsmoses in #3057
  • Preserve attributes on loops built while differentiating by @wsmoses in #3059
  • Add pass to hoist allocations by @Pangoraw in #3051
  • Flang llvm plugin by @vchuravy in #3056
  • Add more Fortran tests by @joewallwork in #3020
  • Separate out Fortran tests at different optimisation levels by @joewallwork in #3054
  • Add batch mode test by @joewallwork in #3053
  • Fix compilation warnings by @Pangoraw in #3068
  • Serialize TypeTree offsets as signed constants by @wsmoses in #3070
  • Use Utils.h wrappers for version-sensitive LLVM APIs, and lint for it by @wsmoses in #3071
  • Drop identity address-space casts in the Julia alloca lowering by @wsmoses in #3074
  • Report mismatched activity as a warning, not just an -Rpass remark by @wsmoses in #3076
  • Add exp10 intrinsic for LLVM >=18 (#2998) by @SpeedyTurtle599 in #3001
  • Give math.fma a derivative by @wsmoses in #3077
  • Load adjoint: a mutable type takes a shadow, not an accumulation by @wsmoses in #3078
  • Differentiate an llvm.func in forward mode by @wsmoses in #3087
  • Provide a fpm.toml for the Fortran interface by @vchuravy in #3080
  • A result nothing differentiates has no shadow to be given by @wsmoses in #3088
  • Prefer annotations for Enzyme's registration attributes, fixing templates by @wsmoses in #3085
  • Join a map of sets by what the other side has by @wsmoses in #3090
  • Give each differentiated function its own dataflow solver by @wsmoses in #3091
  • Do not walk one map while inserting into it by @wsmoses in #3094
  • Give lifetime markers a forward-mode rule by @wsmoses in #3093
  • Decide whether to skip an op with the analyzer everything else uses by @wsmoses in #3095
  • Say an unknown summary set the way the readers of summaries read it by @wsmoses in #3097
  • Keep a branch's condition when neither successor takes an argument by @wsmoses in #3096
  • Give llvm.intr.memset a forward-mode rule by @wsmoses in #3098
  • Remove a pop nobody reads when its cache has no other pop by @wsmoses in #3099
  • Give the derivative its own comdat rather than the primal's by @wsmoses in #3100
  • MLIR dataflow activity: a summarized function still needs its own analysis by @wsmoses in #3105
  • MLIR: forward-mode tangent for arith.select by @wsmoses in #3107
  • MLIR: differentiating a bodyless function is an error, not a crash or a zero by @wsmoses in #3104
  • Describe the _enzyme* call markers in one place by @wsmoses in #3086
  • mlir: unify checkpointing implementations by @Pangoraw in #3092
  • Size a cloned or zeroed alloca from its type by @wsmoses in #3108

New Contributors

Full Changelog: v0.0.289...v0.0.290