Releases: exo-lang/exo
Releases · exo-lang/exo
v1.0.0
This is a release for the ASPLOS '25 Exo 2 paper camera-ready and artifact evaluation.
What's Changed
- Improves the error message of invalid index expression use by @rtzam in #696
- Bump pytest from 8.3.2 to 8.3.3 by @dependabot in #703
- Bump build from 1.2.1 to 1.2.2 by @dependabot in #702
- Bump numpy from 2.1.0 to 2.1.1 by @dependabot in #700
- Bump tox from 4.18.0 to 4.18.1 by @dependabot in #701
- Bump z3-solver from 4.13.0.0 to 4.13.2.0 by @dependabot in #707
- Bump tox from 4.18.1 to 4.21.0 by @dependabot in #709
- Bump tox from 4.21.0 to 4.21.1 by @dependabot in #710
- Bump tox from 4.21.1 to 4.21.2 by @dependabot in #711
- Externalize builtins and fix bugs by @yamaguchi1024 in #637
- Bump pre-commit from 3.8.0 to 4.0.1 by @dependabot in #717
- Bump build from 1.2.2 to 1.2.2.post1 by @dependabot in #714
- Bump numpy from 2.1.1 to 2.1.2 by @dependabot in #715
- Bump black from 24.8.0 to 24.10.0 by @dependabot in #716
- Bump coverage from 7.6.1 to 7.6.2 by @dependabot in #719
- Fix cursor printing errors by @yamaguchi1024 in #720
- Add RVM example by @panther03 in #708
- Bump z3-solver from 4.13.2.0 to 4.13.3.0 by @dependabot in #722
- Bump coverage from 7.6.2 to 7.6.3 by @dependabot in #723
- Bump tox from 4.21.2 to 4.22.0 by @dependabot in #724
- Bump pillow from 10.4.0 to 11.0.0 by @dependabot in #725
- Add Cursor documentation by @yamaguchi1024 in #721
- Fix fissioning of if/else by @akeley98 in #726
- Bump tox from 4.22.0 to 4.23.0 by @dependabot in #727
- Reorganize
src/exo
directory to frontend, core, rewrite, and backend by @yamaguchi1024 in #728 - Bump coverage from 7.6.3 to 7.6.4 by @dependabot in #730
- Check dependency update once per month by @yamaguchi1024 in #731
- Distinguish type error from name error in pyparser by @akeley98 in #733
- Bump tox from 4.23.0 to 4.23.2 by @dependabot in #734
- Bump pytest-cov from 5.0.0 to 6.0.0 by @dependabot in #735
- Update Documentation by @yamaguchi1024 in #729
- Release version 1.0.0 by @yamaguchi1024 in #738
New Contributors
- @rtzam made their first contribution in #696
- @panther03 made their first contribution in #708
- @akeley98 made their first contribution in #726
Full Changelog: v0.2.1...v1.0.0
v0.2.1
What's Changed
- Deprecate outdated interpreter code by @yamaguchi1024 in #669
- Deprecate QAST by @yamaguchi1024 in #670
- Bump pysmt from 0.9.5 to 0.9.6 by @dependabot in #671
- Refactor old effects into standalone boundscheck by @yamaguchi1024 in #672
- Bump pillow from 10.3.0 to 10.4.0 by @dependabot in #674
- Update docs and exocc interface by @yamaguchi1024 in #659
- Fix bugs for loop dependent configuration states by @yamaguchi1024 in #673
- Bump tox from 4.15.1 to 4.16.0 by @dependabot in #675
- Fixed a few bugs in bind_expr by @skeqiqevian in #677
- Bump coverage from 7.5.4 to 7.6.0 by @dependabot in #676
- Fix the segfault in the scheduling example by @yamaguchi1024 in #679
- Bump pytest from 8.2.2 to 8.3.1 by @dependabot in #681
- Bump numpy from 2.0.0 to 2.0.1 by @dependabot in #680
- Halide Improvements for Thesis by @skeqiqevian in #682
- Bump pytest from 8.3.1 to 8.3.2 by @dependabot in #684
- Bump pre-commit from 3.7.1 to 3.8.0 by @dependabot in #685
- Bump black from 24.4.2 to 24.8.0 by @dependabot in #686
- Bump tox from 4.16.0 to 4.17.1 by @dependabot in #689
- Bump coverage from 7.6.0 to 7.6.1 by @dependabot in #687
- Bump tox from 4.17.1 to 4.18.0 by @dependabot in #692
- Bump numpy from 2.0.1 to 2.1.0 by @dependabot in #693
- Implemented
insert_noop_call
scheduling operation by @skeqiqevian in #661 - Print entire proc for cursors by @yamaguchi1024 in #694
- Release v0.2.1 by @yamaguchi1024 in #697
Full Changelog: v0.2.0...v0.2.1
v0.2.0
This is a release for the ASPLOS 2025 paper submission version.
What's Changed
- Bump pytest from 8.2.1 to 8.2.2 by @dependabot in #656
- Fix the SSL error on CI by @yamaguchi1024 in #662
- Bump tox from 4.15.0 to 4.15.1 by @dependabot in #660
- Bump numpy from 1.26.4 to 2.0.0 by @dependabot in #663
- Update Gemmini schedules by @yamaguchi1024 in #654
- Fixed a bug where we don't invalidate cursors within the replaced sub… by @skeqiqevian in #664
- Bump coverage from 7.5.3 to 7.5.4 by @dependabot in #666
- Fix a small typo in Gemmini matmul schedule by @yamaguchi1024 in #665
- Tag ASPLOS 2025 paper submission version by @yamaguchi1024 in #667
- Bump version number by @yamaguchi1024 in #668
Full Changelog: v0.1.2...v0.2.0
v0.1.2
What's Changed
- Gemmini cleanup for the artifact by @yamaguchi1024 in #171
- Snapshot of gemmini results in the paper by @yamaguchi1024 in #176
- Bump pillow from 9.0.0 to 9.0.1 by @dependabot in #177
- Upgrade dependencies. Make PyTest more comfortable to use. by @alexreinking in #179
- Move gemmini code under platform by @yamaguchi1024 in #180
- Fix typo in README by @alexreinking in #183
- Remove deprecated par loops from reorder and split by @skeqiqevian in #184
- remove scipy and torch from requirements by @yamaguchi1024 in #164
- Improve simpilfy to normalize polynomial before constant evaluation by @yamaguchi1024 in #186
- AMX scheduling + par loop related changes by @skeqiqevian in #188
- Refactoring the API as part of Effect-Check/API audit by @gilbo in #189
- Fix code coverage by @alexreinking in #192
- Add initial cursor skeleton by @alexreinking in #193
- Fix bugs in Procedure by @alexreinking in #197
- Deprecate add_guard by @yamaguchi1024 in #195
- Improve golden output interop with PyTest diffs by @alexreinking in #196
- Fix update-golden by @alexreinking in #198
- Bump pillow from 9.1.0 to 9.1.1 by @dependabot in #199
- Accomodate Seq in bind_expr, fission_after, add_loop, double fission by @yamaguchi1024 in #203
- Fix exposure of LoopIR_pprint in init.py by @gilbo in #202
- Add failing test for stage_mem by @yamaguchi1024 in #204
- Allow size expression in add_loop bounds, and fixed parse_fragments by @yamaguchi1024 in #207
- Create LICENSE.md by @yamaguchi1024 in #209
- Update SDE version by @yamaguchi1024 in #211
- Separate malloc definition and forward declarations by @yamaguchi1024 in #208
- Fix delete_pass to delete the loop if the body is empty by @yamaguchi1024 in #212
- modified tests to run scheduling on platforms not supporting execution by @gilbo in #213
- Update Examples & README by @yamaguchi1024 in #214
- Implement product_loop by @yamaguchi1024 in #217
- Merge neon-example by @yamaguchi1024 in #218
- remove loop if the body got emptied by assert_if by @yamaguchi1024 in #221
- Cursor API Step 1 by @gilbo in #220
- Implement more precise memory analysis for LoopIR.Free by @yamaguchi1024 in #223
- adding a file to help with interactive demos by @gilbo in #226
- Deprecate par by @yamaguchi1024 in #222
- Implement commute() by @yamaguchi1024 in #224
- Add experiment scripts from PLDI paper by @alexreinking in #228
- Check generated C code from apps by @alexreinking in #230
- Add
static
to non-exported functions by @alexreinking in #232 - Update the code, name, and numbers of the examples to accomodate sche… by @yamaguchi1024 in #233
- Fix a scheduling error in gemmini conv by @yamaguchi1024 in #241
- Delete rotten gemmini code by @yamaguchi1024 in #242
- Move gemmini-rocc-tests from copy to separate repository by @yamaguchi1024 in #229
- Fixed bind_expr bug with LHS indices by @skeqiqevian in #237
- Run Gemmini tests in CI by @alexreinking in #243
- Rework Gemmini testing into standalone app by @alexreinking in #244
- Codegen cleanup by @alexreinking in #240
- Stop copying whole trees in scheduling passes by @alexreinking in #252
- Format repository, supported with tooling. by @alexreinking in #253
- Implement merge writes by @skeqiqevian in #236
- Bind expr fix by @skeqiqevian in #254
- Deprecate PatternParser by @yamaguchi1024 in #255
- Deprecate UAST.ForAll by @yamaguchi1024 in #258
- Fix lift_alloc to emit error when n_lifts is too large by @yamaguchi1024 in #259
- Expose cursor to scheduling; Delete four rotten primitives by @yamaguchi1024 in #260
- pass proc_cursors to scheduling directives by @yamaguchi1024 in #261
- Change scheduling interface to take procedure cursor and return Procedure Object by @yamaguchi1024 in #263
- Change scheduling API to take stmt cursors by @yamaguchi1024 in #266
- Use Ubuntu 20.04 for testing Gemmini by @alexreinking in #268
- Update requirements for macOS 13 by @alexreinking in #269
- Try pinning Python to 3.10 in Gemmini by @alexreinking in #272
- Update pyproject by @yamaguchi1024 in #273
- Add can_read to memories by @yamaguchi1024 in #267
- First attempt to merge #191 by @yamaguchi1024 in #277
- Fix inline_window to correctly handle stride dimension by @yamaguchi1024 in #276
- Mark slow tests as such in PyTest. by @alexreinking in #280
- Refactor pretty printer by @alexreinking in #279
- Pretty cursors by @alexreinking in #281
- Fix const-window argument passing by @alexreinking in #288
- New lift_scope rewrite operation by @skeqiqevian in #283
- CMake package fixes by @alexreinking in #290
- renamed fusion to fuse by @skeqiqevian in #291
- Effects merge attempt 2 by @yamaguchi1024 in #293
- Bump pillow from 9.1.1 to 9.3.0 by @dependabot in #295
- Fmla support added by @adcastel in #285
- Corrects expand_dim docstring by @SamirDroubi in #298
- Deprecate double_fission by @SamirDroubi in #299
- Deprecate stage_assn by @SamirDroubi in #300
- Add a test for reorder_stmts by @SamirDroubi in #303
- Fix bug of capturing stmt env in BuildEnv by @SamirDroubi in #306
- Amx memory by @skeqiqevian in #302
- Add Formatted Expressions by @SamirDroubi in #304
- Implement internal node-cursor forwarding by @alexreinking in #309
- Third attempt to merge #191 by @SamirDroubi in #307
- Start converting LoopIR_scheduling to cursors architecture by @alexreinking in #311
- Make pattern_match always return cursors. by @alexreinking in #316
- Convert reorder_stmts to use cursors by @alexreinking in #317
- Make cut_loop work on loops with a variable upper bound by @yamaguchi1024 in #315
- Div mod simplify in index expressions by @SamirDroubi in #313
- x86 vector instruction for select-builtin and reduction by @SamirDroubi in #322
- Filter1D example and memory aware replace by @yamaguchi1024 in #320
- Add -arch=arm64 when targeting neon by @yamaguchi1024 in #325
- Add fragement parsing for builtin calls by @SamirDroubi in #326
- Add PYTHONPATH feature to add_exo_library by @alexreinking in #328
- Add depfile support to CMake rules by @alexreinking in #329
- Drop stale githooks directory by @alexreinking in #330
- Use window for all the AVX2 instructions by @yamaguchi1024 in #332
- Add mechanical citation information to the repo by @alexreinking in #331
- avx2 add, broadcast, reg copy instructions by @SamirDroubi in #334
- Fix static_memory_check by @SamirDroubi...
v0.0.2
First release as "Exo". Please note that this is still pre-alpha software and no API stability guarantees of any kind are made. This is allowed by semver for major version 0
releases, like this one. See https://semver.org/#spec-item-4 for more details.