Releases: EnzymeAD/Enzyme
Releases · EnzymeAD/Enzyme
v0.0.107
v0.0.106
What's Changed
- Allow gepoperator in EnzymeComputeByteOffsetOfGEP by @wsmoses in #1865
- fix macosci by @wsmoses in #1863
- cublas v2 support by @wsmoses in #1866
- Mark getenv/strtol/fwrite as nondifferentiable by @wsmoses in #1868
- Split phi optimization by @wsmoses in #1867
- Add gsl_sf_legendre_array_e by @wsmoses in #1869
Full Changelog: v0.0.105...v0.0.106
v0.0.105
What's Changed
FDiv
and function calls in error propagation mode by @Brant-Skywalker in #1814- Fix bazel for external importing by @wsmoses in #1835
- Add more MPFR functions by @ivanradanov in #1834
- Fix caching for forwarderr by @wsmoses in #1836
- Alternative way of bundling headers by @ivanradanov in #1837
- FIx
MPI_Reduce
for forward mode by @Brant-Skywalker in #1840 - Nicer error message for mismatch args by @wsmoses in #1838
- [Bazel] Try to fix cross compile by @wsmoses in #1849
- Replace
LLVM_FALLTHROUGH
with[[fallthrough]]
by @rupprecht in #1850 - Error propagation mode MPI support by @Brant-Skywalker in #1841
- [MLIR] Handle multiple return activities by @wsmoses in #1851
- Bazel fix include script on non outermost project by @wsmoses in #1852
- Handle jl_small_typeof by @wsmoses in #1845
- More error propagation mode checks by @Brant-Skywalker in #1842
- Bazel more bundle include fixes by @wsmoses in #1854
- Bazel more bundle include fixes by @wsmoses in #1855
- MLIR fix return primal in reverse mode by @wsmoses in #1856
- Handle fprintf in handleKnownCallDerivatives by @Brant-Skywalker in #1844
- Fix load is load error by @wsmoses in #1862
- Strengthen any type checks by @wsmoses in #1864
New Contributors
- @rupprecht made their first contribution in #1850
Full Changelog: v0.0.104...v0.0.105
v0.0.104
What's Changed
- Add rust allocation function support by @wsmoses in #1799
- Memory truncation mode by @ivanradanov in #1801
- Error Propagation Mode by @Brant-Skywalker in #1794
- Reduce warnings by @wsmoses in #1803
- Reduce more warnings by @wsmoses in #1804
- Fix mlir on bazel llvm main by @wsmoses in #1805
- Add type tree by attr test by @wsmoses in #1806
- Extend loop iv for sign extension by @martinjm97 in #1810
- Update bazel build by @wsmoses in #1812
- Remove unused bytecode op header by @wsmoses in #1813
- Loose type of int cast by @wsmoses in #1816
- Mark lgamma/r as nofree by @wsmoses in #1817
- Fix gamma assertion error by @wsmoses in #1818
- Mark rust log as shoudlrecompute by @wsmoses in #1819
- Gracefully Handle libm function without derivative defined by @wsmoses in #1821
- Add custom differential use analysis plugin infra by @wsmoses in #1820
- Fix blas tablegen erasure ordering by @wsmoses in #1823
- Add more error messages to c api by @wsmoses in #1824
- More conservatively nofree constant functions by @wsmoses in #1822
- Add complex sqrt by @wsmoses in #1778
- cpp interface improvements by @samuelpmish in #1789
- Slightly more type warning info by @wsmoses in #1827
- Fix complex tablegen by @wsmoses in #1829
- Restore mlir build by @wsmoses in #1830
- ActivityAnalysis strengthen pointer type analysis & Support nonintuitive opaque pointer case by @wsmoses in #1831
- Early debug message by @wsmoses in #1833
New Contributors
- @Brant-Skywalker made their first contribution in #1794
Full Changelog: v0.0.103...v0.0.104
v0.0.103
What's Changed
- MLIR Make core mlir registration fn by @wsmoses in #1715
- Fix enzymemlir visibility and return by @wsmoses in #1716
- MLIR fix broken test by @wsmoses in #1718
- MLIR change visibility for wrapper pass by @wsmoses in #1719
- MLIR embarassing bugfix by @wsmoses in #1720
- Add full module truncation mode by @ivanradanov in #1717
- MLIR correctly preserve attributes for shadows by @wsmoses in #1721
- MLIR: handle multi-result functions by @wsmoses in #1723
- MLIR better error for incorrect arg activity count by @wsmoses in #1724
- MLIR fix activity analysis assertion error by @wsmoses in #1725
- MLIR constantfp by @wsmoses in #1726
- Mlirerr2 by @wsmoses in #1727
- MLIR improve tblgen by @wsmoses in #1728
- [bazel] export common derivative definitions by @ftynse in #1729
- MLIR more error messages for interface internals by @wsmoses in #1730
- Add smax, smin, umin, umax to type analysis by @rmoyard in #1634
- Update opaque pointer test by @wsmoses in #1732
- MLIR add more general control flow handler interface by @wsmoses in #1731
- MLIR fix forward terminator interface by @wsmoses in #1733
- MLIR add constantfp to common.td by @wsmoses in #1734
- MLIR handle dual tablegen by @wsmoses in #1735
- MLIR fix custom fwd tblgen by @wsmoses in #1736
- Handle new debug format conversion by @wsmoses in #1737
- TypeAnalysis cleanup null result by @wsmoses in #1738
- Cleanup gutils to avoid null reference by @wsmoses in #1739
- Fix integration test if not built with compiler-rt by @wsmoses in #1740
- Test assert-less build by @wsmoses in #1742
- TypeTree speedup shiftindicies by @wsmoses in #1744
- Split tests into two packages in Bazel build. by @ftynse in #1741
- silence warnings in bazel by @ftynse in #1745
- [ActivityAnalysis] Remove isConstantValue call in activity analysis by @rmoyard in #1608
- TypeAnalysis permit passing info as fn parm attrs by @wsmoses in #1746
- TypeAnalysis speed up Canonicalize by @wsmoses in #1747
- Fix macOS CI by @tgymnich in #1754
- Enable Dependabot for Github actions by @tgymnich in #1755
- Enable clangd support by @tgymnich in #1753
- Bump actions/cache from 3 to 4 by @dependabot in #1757
- Bump mattnotmitt/doxygen-action from 1.9.2 to 1.9.8 by @dependabot in #1758
- Bump actions/checkout from 3 to 4 by @dependabot in #1759
- Replace third party create-github-app-token action with official action by @tgymnich in #1762
- C++ error message for incorrect custom gradient type by @wsmoses in #1764
- Fixed incorrect usage of llvm::Function::splice. by @matinraayai in #1751
- Allow custom importing of files and syntactic sugar by @wsmoses in #1752
- Bump peter-evans/create-pull-request from 3 to 6 by @dependabot in #1760
- Update MLIR to 2c9b6c1b36b8185299de083c3058e0c1e7760442 by @ftynse in #1765
- Fix clang-tidy findings by @ftynse in #1766
- Correct complex inv by @wsmoses in #1767
- [mlir] move alias lattice update to relevant transfer function by @ftynse in #1573
- Fix reverse mode complex error function by @wsmoses in #1770
- Trucation to MPFR by @ivanradanov in #1750
- Cleanup and Fixup MLIR reverse mode by @wsmoses in #1771
- [MLIR] Add read-only reverse mode arg by @wsmoses in #1774
- [MLIR] Fix reverse wrap pass infra by @wsmoses in #1775
- Add forward mode c++ syntax by @wsmoses in #1776
- MLIR support LogicalResult return in reversemode by @wsmoses in #1779
- MLIR enable vararg activity by @wsmoses in #1781
- Fix bazel build for macos by @wsmoses in #1782
- MLIR add postop tablegen helper by @wsmoses in #1783
- [mlir] Define generic set/map lattices for dataflow analyses by @pengmai in #1769
- Fix unused errors by @wsmoses in #1784
- Fix unused variable by @wsmoses in #1786
- Bazel Cache by @tgymnich in #1787
- MLIR handle multiple distinct return activities by @wsmoses in #1788
- Allow asserting activity in mlir by @wsmoses in #1792
- Fix new debug info assertion on main by @wsmoses in #1793
- Fix build for older llvms by @wsmoses in #1795
New Contributors
- @rmoyard made their first contribution in #1634
- @dependabot made their first contribution in #1757
- @matinraayai made their first contribution in #1751
Full Changelog: v0.0.102...v0.0.103
v0.0.102
What's Changed
- BLAS fix erasure by @wsmoses in #1711
- Drop all fn references on bc by @wsmoses in #1710
- Support more C math.h functions by @maxaehle in #1605
- Act conservative if not affine by @wsmoses in #1712
- Change compile time or type analysis err into runtime by @wsmoses in #1713
Full Changelog: v0.0.101...v0.0.102
v0.0.101
What's Changed
- Ensure alloca works well with minCut aliasing by @wsmoses in #1705
- Strengthen capturing alloc check on jlcall by @wsmoses in #1706
- BLAS fix gemm overwrite by @wsmoses in #1707
- BLAS fix vector mode by @wsmoses in #1708
- BCLoad: Still ignore if cblas lowering required by @wsmoses in #1709
Full Changelog: v0.0.100...v0.0.101
v0.0.100
What's Changed
- Fix julia 16 llvm by @wsmoses in #1638
- Fix linking issue by @wsmoses in #1639
- Fix bcload on llvm16 by @wsmoses in #1642
- BCLoad 16 CI by @wsmoses in #1643
- More bc load attempts by @wsmoses in #1644
- Add nv_ceil handler by @wsmoses in #1647
- [MLIR][ActivityAnalysis] create activity interface by @wsmoses in #1648
- [WIP] Simplify MLIR by @wsmoses in #1646
- Reimplement MLIR tangent for scf.for generically by @ftynse in #1649
- [MLIR] Add read interface fwd by @wsmoses in #1652
- [MLIR] General store / allocation / tensor / math interfaces by @wsmoses in #1657
- Fix differential use analysis of ivi by @wsmoses in #1661
- Fix integration tests on main by @wsmoses in #1662
- Fix DT error by @wsmoses in #1665
- Fixups for external bazel integration tests by @wsmoses in #1668
- Logabsgamma support by @wsmoses in #1669
- Fix symbol link collision by @wsmoses in #1671
- Fix integration tests by @wsmoses in #1670
- Packaging fixes for julia on 16 by @wsmoses in #1672
- [MLIR] make wrapping pass by @wsmoses in #1673
- Fix tablegen for ll16 without optional support by @wsmoses in #1674
- Restore mlir build by @wsmoses in #1675
- More macos on llvm16 fix by @wsmoses in #1676
- bcload 15 or 16 fix by @wsmoses in #1677
- [Truncate] Handle libm calls by @ivanradanov in #1636
- Add a float op only truncation mode by @ivanradanov in #1651
- MDTuple better error handler by @wsmoses in #1684
- Remove unnecessary uses of templating by @tgymnich in #1681
- [MLIR] fix mlir activity arg parsing by @wsmoses in #1678
- add a little bit more docs by @ZuseZ4 in #1664
- Update build_tarballs.jl by @wsmoses in #1688
- Demangle and improve nofree by @wsmoses in #1687
- Fix cached gemv by @wsmoses in #1689
- Turn mask assertion error into nice compile error by @wsmoses in #1690
- [ActivityAnalysis] simplify and cleanup by @wsmoses in #1694
- Mark nvfmodf and improve error message for wrong arg num by @wsmoses in #1695
- Simplify and improve differential use analysis by @wsmoses in #1693
- Enable c++ warning for runtime activity by @wsmoses in #1699
- Mark memcpy of 1 byte as inactive by @wsmoses in #1698
- Improve nofree demangle support by @wsmoses in #1696
- Ensure custom derivative functions aren't deleted by @wsmoses in #1697
- Fix memcpy of size 1 [part 2] by @wsmoses in #1701
- Fix asan error and add mlir alloc/free fns by @wsmoses in #1700
- Erase atomic on err by @wsmoses in #1702
- Preserve parmtype by @wsmoses in #1703
- Handle constant of vector of i1 by @wsmoses in #1704
Full Changelog: v0.0.99...v0.0.100
v0.0.99
What's Changed
- [TypeAnalysis] handle arg count mismatch by @wsmoses in #1589
- [TypeAnalysis] improve arg error message by @wsmoses in #1590
- move away from using deprecated StringRef API by @ftynse in #1593
- Better error messages for invalid erasure by @wsmoses in #1592
- update TypeAnalysis for recent LLVMs by @ftynse in #1594
- Add NoFree cmd line fallback by @wsmoses in #1591
- [mlir] support unknown (top) state in aliasing and activity analysis by @ftynse in #1569
- Fix printing bug #1599 by @maxaehle in #1601
- Mark floor as inactive by @wsmoses in #1598
- Improve support for x86_fp80 (long double) by @maxaehle in #1604
- rebase MLIR-Enzyme back on upstream LLVM by @ftynse in #1602
- [mlir] don't incorrectly bail from alias analysis by @ftynse in #1570
- [mlir] correctly handle "unknown" state in activity analysis by @ftynse in #1571
- [WIP] Auto truncation mode by @wsmoses in #1581
- Fix sparse by @wsmoses in #1606
- Add eigen analysis test by @wsmoses in #1612
- make fpic work on windows by @ZuseZ4 in #1614
- [Sparse] Fixup replacement rule ordering by @wsmoses in #1616
- [mlir] proper "undefined" state in pointer analysis and correct handling of fresh state by @ftynse in #1572
- Benchmark by @wsmoses in #1617
- Update benchmark.yml to use openstack22 by @wsmoses in #1543
- Try github actions for nightly bazel build by @wsmoses in #1620
- MLIR bazel build and test by @wsmoses in #1618
- Re-disable benchmark.yml by @wsmoses in #1626
- Invertpointer nicer error for global by @wsmoses in #1625
- [MLIR] Add tablegen derivative infrastructure by @wsmoses in #1623
- [TypeAnalysisPrinter] support opaque pointers on 16 by @wsmoses in #1629
- Fix struct containing attributes by @wsmoses in #1627
- Mark more as nofree/inactive by @wsmoses in #1628
- Fix integration CI bug by @wsmoses in #1630
- [Bazel] run integration tests by @wsmoses in #1631
- Handle invert pointer of add expr by @wsmoses in #1632
- Use specified name for known inactive function insts by @wsmoses in #1633
- [Julia] permit caches of addresspace-10 even if potentially indirect by @wsmoses in #1635
- Add functions to truncate and expand fp values by @ivanradanov in #1615
- Allow disabling memmove warning by @wsmoses in #1637
New Contributors
- @maxaehle made their first contribution in #1601
- @ivanradanov made their first contribution in #1615
Full Changelog: v0.0.98...v0.0.99
v0.0.98
What's Changed
- Embarassing bugfix for shadowalloc rewrite by @wsmoses in #1584
- Add sparse prints by @wsmoses in #1545
- Use static clang plugin registration by @wsmoses in #1544
- Add nvidia reciprocal by @wsmoses in #1586
- Zero sret copy by @wsmoses in #1585
- Nicer error for getindex by @wsmoses in #1587
- [TypeAnalysis] improve memtransfer error handler by @wsmoses in #1588
Full Changelog: v0.0.97...v0.0.98