
What's Changed Gemmini cleanup for the artifact by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/171 Snapshot of gemmini results in the paper by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/176 Bump pillow from 9.0.0 to 9.0.1 by @dependabot in https://github.com/exo-lang/exo/pull/177 Upgrade dependencies. Make PyTest more comfortable to use. by @alexreinking in https://github.com/exo-lang/exo/pull/179 Move gemmini code under platform by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/180 Fix typo in README by @alexreinking in https://github.com/exo-lang/exo/pull/183 Remove deprecated par loops from reorder and split by @skeqiqevian in https://github.com/exo-lang/exo/pull/184 remove scipy and torch from requirements by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/164 Improve simpilfy to normalize polynomial before constant evaluation by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/186 AMX scheduling + par loop related changes by @skeqiqevian in https://github.com/exo-lang/exo/pull/188 Refactoring the API as part of Effect-Check/API audit by @gilbo in https://github.com/exo-lang/exo/pull/189 Fix code coverage by @alexreinking in https://github.com/exo-lang/exo/pull/192 Add initial cursor skeleton by @alexreinking in https://github.com/exo-lang/exo/pull/193 Fix bugs in Procedure by @alexreinking in https://github.com/exo-lang/exo/pull/197 Deprecate add_guard by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/195 Improve golden output interop with PyTest diffs by @alexreinking in https://github.com/exo-lang/exo/pull/196 Fix update-golden by @alexreinking in https://github.com/exo-lang/exo/pull/198 Bump pillow from 9.1.0 to 9.1.1 by @dependabot in https://github.com/exo-lang/exo/pull/199 Accomodate Seq in bind_expr, fission_after, add_loop, double fission by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/203 Fix exposure of LoopIR_pprint in init.py by @gilbo in https://github.com/exo-lang/exo/pull/202 Add failing test for stage_mem by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/204 Allow size expression in add_loop bounds, and fixed parse_fragments by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/207 Create LICENSE.md by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/209 Update SDE version by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/211 Separate malloc definition and forward declarations by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/208 Fix delete_pass to delete the loop if the body is empty by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/212 modified tests to run scheduling on platforms not supporting execution by @gilbo in https://github.com/exo-lang/exo/pull/213 Update Examples & README by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/214 Implement product_loop by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/217 Merge neon-example by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/218 remove loop if the body got emptied by assert_if by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/221 Cursor API Step 1 by @gilbo in https://github.com/exo-lang/exo/pull/220 Implement more precise memory analysis for LoopIR.Free by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/223 adding a file to help with interactive demos by @gilbo in https://github.com/exo-lang/exo/pull/226 Deprecate par by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/222 Implement commute() by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/224 Add experiment scripts from PLDI paper by @alexreinking in https://github.com/exo-lang/exo/pull/228 Check generated C code from apps by @alexreinking in https://github.com/exo-lang/exo/pull/230 Add static to non-exported functions by @alexreinking in https://github.com/exo-lang/exo/pull/232 Update the code, name, and numbers of the examples to accomodate sche… by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/233 Fix a scheduling error in gemmini conv by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/241 Delete rotten gemmini code by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/242 Move gemmini-rocc-tests from copy to separate repository by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/229 Fixed bind_expr bug with LHS indices by @skeqiqevian in https://github.com/exo-lang/exo/pull/237 Run Gemmini tests in CI by @alexreinking in https://github.com/exo-lang/exo/pull/243 Rework Gemmini testing into standalone app by @alexreinking in https://github.com/exo-lang/exo/pull/244 Codegen cleanup by @alexreinking in https://github.com/exo-lang/exo/pull/240 Stop copying whole trees in scheduling passes by @alexreinking in https://github.com/exo-lang/exo/pull/252 Format repository, supported with tooling. by @alexreinking in https://github.com/exo-lang/exo/pull/253 Implement merge writes by @skeqiqevian in https://github.com/exo-lang/exo/pull/236 Bind expr fix by @skeqiqevian in https://github.com/exo-lang/exo/pull/254 Deprecate PatternParser by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/255 Deprecate UAST.ForAll by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/258 Fix lift_alloc to emit error when n_lifts is too large by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/259 Expose cursor to scheduling; Delete four rotten primitives by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/260 pass proc_cursors to scheduling directives by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/261 Change scheduling interface to take procedure cursor and return Procedure Object by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/263 Change scheduling API to take stmt cursors by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/266 Use Ubuntu 20.04 for testing Gemmini by @alexreinking in https://github.com/exo-lang/exo/pull/268 Update requirements for macOS 13 by @alexreinking in https://github.com/exo-lang/exo/pull/269 Try pinning Python to 3.10 in Gemmini by @alexreinking in https://github.com/exo-lang/exo/pull/272 Update pyproject by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/273 Add can_read to memories by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/267 First attempt to merge #191 by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/277 Fix inline_window to correctly handle stride dimension by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/276 Mark slow tests as such in PyTest. by @alexreinking in https://github.com/exo-lang/exo/pull/280 Refactor pretty printer by @alexreinking in https://github.com/exo-lang/exo/pull/279 Pretty cursors by @alexreinking in https://github.com/exo-lang/exo/pull/281 Fix const-window argument passing by @alexreinking in https://github.com/exo-lang/exo/pull/288 New lift_scope rewrite operation by @skeqiqevian in https://github.com/exo-lang/exo/pull/283 CMake package fixes by @alexreinking in https://github.com/exo-lang/exo/pull/290 renamed fusion to fuse by @skeqiqevian in https://github.com/exo-lang/exo/pull/291 Effects merge attempt 2 by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/293 Bump pillow from 9.1.1 to 9.3.0 by @dependabot in https://github.com/exo-lang/exo/pull/295 Fmla support added by @adcastel in https://github.com/exo-lang/exo/pull/285 Corrects expand_dim docstring by @SamirDroubi in https://github.com/exo-lang/exo/pull/298 Deprecate double_fission by @SamirDroubi in https://github.com/exo-lang/exo/pull/299 Deprecate stage_assn by @SamirDroubi in https://github.com/exo-lang/exo/pull/300 Add a test for reorder_stmts by @SamirDroubi in https://github.com/exo-lang/exo/pull/303 Fix bug of capturing stmt env in BuildEnv by @SamirDroubi in https://github.com/exo-lang/exo/pull/306 Amx memory by @skeqiqevian in https://github.com/exo-lang/exo/pull/302 Add Formatted Expressions by @SamirDroubi in https://github.com/exo-lang/exo/pull/304 Implement internal node-cursor forwarding by @alexreinking in https://github.com/exo-lang/exo/pull/309 Third attempt to merge #191 by @SamirDroubi in https://github.com/exo-lang/exo/pull/307 Start converting LoopIR_scheduling to cursors architecture by @alexreinking in https://github.com/exo-lang/exo/pull/311 Make pattern_match always return cursors. by @alexreinking in https://github.com/exo-lang/exo/pull/316 Convert reorder_stmts to use cursors by @alexreinking in https://github.com/exo-lang/exo/pull/317 Make cut_loop work on loops with a variable upper bound by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/315 Div mod simplify in index expressions by @SamirDroubi in https://github.com/exo-lang/exo/pull/313 x86 vector instruction for select-builtin and reduction by @SamirDroubi in https://github.com/exo-lang/exo/pull/322 Filter1D example and memory aware replace by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/320 Add -arch=arm64 when targeting neon by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/325 Add fragement parsing for builtin calls by @SamirDroubi in https://github.com/exo-lang/exo/pull/326 Add PYTHONPATH feature to add_exo_library by @alexreinking in https://github.com/exo-lang/exo/pull/328 Add depfile support to CMake rules by @alexreinking in https://github.com/exo-lang/exo/pull/329 Drop stale githooks directory by @alexreinking in https://github.com/exo-lang/exo/pull/330 Use window for all the AVX2 instructions by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/332 Add mechanical citation information to the repo by @alexreinking in https://github.com/exo-lang/exo/pull/331 avx2 add, broadcast, reg copy instructions by @SamirDroubi in https://github.com/exo-lang/exo/pull/334 Fix static_memory_check by @SamirDroubi in https://github.com/exo-lang/exo/pull/337 Fix assert_if and add tests by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/338 Add alpha renaming in cut_loop by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/339 x86 instrs tensor parameters change to windows by @SamirDroubi in https://github.com/exo-lang/exo/pull/341 Convert scheduling directives to use cursor editing APIs by @alexreinking in https://github.com/exo-lang/exo/pull/323 fixed type check in merge_writes by @skeqiqevian in https://github.com/exo-lang/exo/pull/348 Avx2 double precision by @SamirDroubi in https://github.com/exo-lang/exo/pull/349 rewrote specialize with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/355 rewrote commute_expr with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/353 rewrote add_loop with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/352 rewrote fuse_if with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/354 implemented scheduling operation for distributive property by @skeqiqevian in https://github.com/exo-lang/exo/pull/344 rewrote lift_alloc with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/357 rewrote lift_scope with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/359 rewrote expand_dim with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/360 Add missing neon f32 instructions by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/358 rewrote mult_dim with Internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/363 rewrote divide_dim with Internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/365 rewrote call_eqv with Internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/366 rewrote fission with Internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/368 rewrote write_config with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/367 rewrote bind_config with Internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/369 Basic cursor forwarding at API level by @alexreinking in https://github.com/exo-lang/exo/pull/370 Fix divide loop by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/373 Fix forwarding composition in divide_dim by @alexreinking in https://github.com/exo-lang/exo/pull/375 Fix _replace_pats_stmts by @alexreinking in https://github.com/exo-lang/exo/pull/376 rewrite divide_loop with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/372 Add BLAS correctness test to Exo repo's CI by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/379 replace types nodes directly by @skeqiqevian in https://github.com/exo-lang/exo/pull/380 add failing test case by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/381 Makes cursor replaces less destructive by @skeqiqevian in https://github.com/exo-lang/exo/pull/382 implemented bind_expr with Internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/387 rewrote stage_mem with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/386 rewrote replace with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/384 simplify division by trying to split the denominator by @SamirDroubi in https://github.com/exo-lang/exo/pull/385 rewrote inline_window with Internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/371 Fix forwarding bugs by @skeqiqevian in https://github.com/exo-lang/exo/pull/388 filter1D cursor forwarding example, and some fixes in pretty printing by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/378 Forwarding bug + API Cursors bug by @SamirDroubi in https://github.com/exo-lang/exo/pull/391 Fix cursor wrapper bug by @skeqiqevian in https://github.com/exo-lang/exo/pull/393 implemented simplify with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/389 unexpose Sym in the cursors API by @SamirDroubi in https://github.com/exo-lang/exo/pull/394 Change Neon4f to Neon, support f64 by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/395 Add missing instructions for neon by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/396 Gap and Block refactoring by @alexreinking in https://github.com/exo-lang/exo/pull/397 Skeleton of argcursor by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/399 Implement ExoType by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/400 Undo changes to internal cursors for fnargs by @alexreinking in https://github.com/exo-lang/exo/pull/401 Fix bug in _move forwarding by @skeqiqevian in https://github.com/exo-lang/exo/pull/403 Fix reorder loops forwarding by @skeqiqevian in https://github.com/exo-lang/exo/pull/404 Forward gaps and internal cursor cleanup by @alexreinking in https://github.com/exo-lang/exo/pull/406 Fix new effectcheck bug, disable some checks in gemmini by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/402 rewrite set_precision, set_memory, and set_window with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/408 rewrite rearrange_dim with internal cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/407 Support arguments ordering in extract_subproc by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/409 fixed bug in reorder_loops by @skeqiqevian in https://github.com/exo-lang/exo/pull/411 Try inlining constant strides at codegen time by @alexreinking in https://github.com/exo-lang/exo/pull/412 Add mask instruction for x86 by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/414 set recursion limit by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/413 Cleaned up _replace_pats functions by @skeqiqevian in https://github.com/exo-lang/exo/pull/416 rewrote get_reads and get_writes, cleaned up some imports by @skeqiqevian in https://github.com/exo-lang/exo/pull/415 replace_all blow through NotImplementedError by @SamirDroubi in https://github.com/exo-lang/exo/pull/418 Normalize abd range analysis bug fix by @SamirDroubi in https://github.com/exo-lang/exo/pull/421 Remove unnecessary InferEffects from schedules by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/422 Reduce cursor invalidation by @skeqiqevian in https://github.com/exo-lang/exo/pull/417 Add checks on conditions in specialize by @skeqiqevian in https://github.com/exo-lang/exo/pull/424 delete unused class by @skeqiqevian in https://github.com/exo-lang/exo/pull/426 CIR for index access simplification by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/423 ArgCursor::mem assert bug fix by @SamirDroubi in https://github.com/exo-lang/exo/pull/428 ArgCursor introspection testing + bug fix by @SamirDroubi in https://github.com/exo-lang/exo/pull/429 implement transpose by @skeqiqevian in https://github.com/exo-lang/exo/pull/431 Fix typo in new_eff by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/434 Delete outdated clamping code by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/435 Allow DoSplit to check proc predicates for modulo asserts by @skeqiqevian in https://github.com/exo-lang/exo/pull/437 Half precision support added by @adcastel in https://github.com/exo-lang/exo/pull/297 Add alias check. Fixes #275. by @rachitnigam in https://github.com/exo-lang/exo/pull/427 Allow loops to have arbitrary expressions as lo by @skeqiqevian in https://github.com/exo-lang/exo/pull/425 Fix a typo in new_analysis core by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/442 Propagate InferEffects to subprocedure calls by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/439 Fix divide_loop type bug by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/445 Add self-contained install via nix flake by @gdinh in https://github.com/exo-lang/exo/pull/449 Fix CI by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/457 change pull_request to pull_request_target altogether by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/458 Update example for clarify by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/459 First RVV backend version by @adcastel in https://github.com/exo-lang/exo/pull/453 Change the loop iterator type from int to int_fast32_t by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/443 Update setup-python's version to v4 by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/461 Update example's replace_all after making it memory-aware by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/462 bump setup-sde's version up by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/463 Fix Bcast for RVV by @adcastel in https://github.com/exo-lang/exo/pull/464 New broadcast support for RVV by @adcastel in https://github.com/exo-lang/exo/pull/465 Implement unroll_buffer operation by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/460 Move instructions for repo installation to the top of the README by @rachitnigam in https://github.com/exo-lang/exo/pull/467 Implement div denominator constant folding to simplify by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/473 Rework the Scheduling Example by @rachitnigam in https://github.com/exo-lang/exo/pull/468 do not try to split denominator when lhs has div or mod by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/476 Use sym repr to pat match within scheduling by @SamirDroubi in https://github.com/exo-lang/exo/pull/480 Fixed issue with forwarding when procs are equivalent. by @skeqiqevian in https://github.com/exo-lang/exo/pull/481 Fixed forwarding bug in simplify for window stmts by @skeqiqevian in https://github.com/exo-lang/exo/pull/482 Revised cut_loop and implemented shift_loop by @SamirDroubi in https://github.com/exo-lang/exo/pull/491 assert_if revision by @SamirDroubi in https://github.com/exo-lang/exo/pull/492 Evolve range analysis and remove redundant exo_floor_div by @SamirDroubi in https://github.com/exo-lang/exo/pull/495 Fix unification bug when unifying conditions by @SamirDroubi in https://github.com/exo-lang/exo/pull/500 Added sink_alloc by @skeqiqevian in https://github.com/exo-lang/exo/pull/501 Bump pillow from 9.3.0 to 10.0.1 by @dependabot in https://github.com/exo-lang/exo/pull/513 Generalize remove_if to eliminate_dead_code by @SamirDroubi in https://github.com/exo-lang/exo/pull/518 Parrot Blur Sprint by @skeqiqevian in https://github.com/exo-lang/exo/pull/511 Precision propagation bug fix by @andrewj31415 in https://github.com/exo-lang/exo/pull/519 Fixed incorrect cursor edit in set_window by @skeqiqevian in https://github.com/exo-lang/exo/pull/520 Add replace_once and unsafe flag to fission by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/525 More general bounds inference by @skeqiqevian in https://github.com/exo-lang/exo/pull/522 Allow dividing loops by 1 by @SamirDroubi in https://github.com/exo-lang/exo/pull/530 Adds parallel loops and scheduling op to parallelize loops by @skeqiqevian in https://github.com/exo-lang/exo/pull/526 Dram stack by @skeqiqevian in https://github.com/exo-lang/exo/pull/528 Missing API from AllocCursor by @SamirDroubi in https://github.com/exo-lang/exo/pull/535 Changing shrink_dim to resize_dim by @skeqiqevian in https://github.com/exo-lang/exo/pull/537 Added support for uint16 and improved replace_all to handle bodies with length > 1 by @skeqiqevian in https://github.com/exo-lang/exo/pull/536 Add guards to load/store stage in stage_mem by @SamirDroubi in https://github.com/exo-lang/exo/pull/527 Update Github CI workflows by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/538 Bind expr fixes by @SamirDroubi in https://github.com/exo-lang/exo/pull/542 Pattern matching on cursors by @skeqiqevian in https://github.com/exo-lang/exo/pull/543 Upgrade z3-solver version to 4.12.4.0 by @SamirDroubi in https://github.com/exo-lang/exo/pull/548 Add pldi24 combinator tests by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/534 Fix a bug in extract_proc by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/532 Update the SDE version by @SamirDroubi in https://github.com/exo-lang/exo/pull/551 Fix two bugs in unroll_buffer by @SamirDroubi in https://github.com/exo-lang/exo/pull/550 Fix bug in inline_assign by @SamirDroubi in https://github.com/exo-lang/exo/pull/555 Implement fold_into_reduce and reassociate_expr by @SamirDroubi in https://github.com/exo-lang/exo/pull/558 Fix failing Neon tests by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/559 Update the github workflow by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/560 Bump pillow from 10.0.1 to 10.2.0 by @dependabot in https://github.com/exo-lang/exo/pull/556 Remove unsafe_disable_checks from expand_dim by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/562 Deprecate bound_alloc and fix a resize_dim bug by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/563 Add Int type in the API types by @SamirDroubi in https://github.com/exo-lang/exo/pull/564 Update CI to use the new M1 macOS runner by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/567 Forward when updating predicates in simplify by @SamirDroubi in https://github.com/exo-lang/exo/pull/568 Fix bug in stage_mem by @SamirDroubi in https://github.com/exo-lang/exo/pull/571 Change DoEliminateDeadLoop Check by @SamirDroubi in https://github.com/exo-lang/exo/pull/572 Unify index inequalities with different ops by @SamirDroubi in https://github.com/exo-lang/exo/pull/575 Only run CI for main push or PR by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/577 Forwarding blocks for edit functions, allow replace to forward when it is 1-to-1 by @skeqiqevian in https://github.com/exo-lang/exo/pull/546 Validate the perfectness of divide_loop with z3 by @SamirDroubi in https://github.com/exo-lang/exo/pull/579 Accept API types as arguments to primitives by @SamirDroubi in https://github.com/exo-lang/exo/pull/580 Add type inference for constants by @kehemo in https://github.com/exo-lang/exo/pull/581 Snapshot of stdlib and rewrite gemm by @SamirDroubi in https://github.com/exo-lang/exo/pull/583 Implement delete_pass using cursors by @SamirDroubi in https://github.com/exo-lang/exo/pull/584 Rerwite extract_subproc by @SamirDroubi in https://github.com/exo-lang/exo/pull/585 Deprecate bound_and_guard operation by @SamirDroubi in https://github.com/exo-lang/exo/pull/586 Update README.md by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/587 Fix various bugs in memory and type setting by @SamirDroubi in https://github.com/exo-lang/exo/pull/588 Call ExoBLAS reusable workflow by @SamirDroubi in https://github.com/exo-lang/exo/pull/589 extract_subproc assigns memories to subproc params by @SamirDroubi in https://github.com/exo-lang/exo/pull/590 Move gemmini matmul code from BLAS repo by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/591 Specialize blocks by @SamirDroubi in https://github.com/exo-lang/exo/pull/592 Blur sprint by @skeqiqevian in https://github.com/exo-lang/exo/pull/529 Windows fixes by @SamirDroubi in https://github.com/exo-lang/exo/pull/595 Reorganizing Halide apps and fixed blur's test/documentation by @skeqiqevian in https://github.com/exo-lang/exo/pull/598 rearrange_dim and delete_pass bug fixes by @SamirDroubi in https://github.com/exo-lang/exo/pull/600 Cleaning up Halide scheduling implementation by @skeqiqevian in https://github.com/exo-lang/exo/pull/604 Bump black from 22.10.0 to 24.3.0 by @dependabot in https://github.com/exo-lang/exo/pull/597 Guard windows definitions with "include guards" by @SamirDroubi in https://github.com/exo-lang/exo/pull/606 Simplify logical expressions containing True/False literals by @SamirDroubi in https://github.com/exo-lang/exo/pull/609 Halide unsharp masking by @skeqiqevian in https://github.com/exo-lang/exo/pull/599 Bump pillow from 10.2.0 to 10.3.0 by @dependabot in https://github.com/exo-lang/exo/pull/611 Rewrite gemmini conv with user-level schedule ops by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/613 Fixed bug in resize dim by @skeqiqevian in https://github.com/exo-lang/exo/pull/616 Implement split_write scheduling operation by @SamirDroubi in https://github.com/exo-lang/exo/pull/608 Scheduling operation for the circular buffer optimization by @skeqiqevian in https://github.com/exo-lang/exo/pull/605 Add dependabot updates for pip by @SamirDroubi in https://github.com/exo-lang/exo/pull/619 Updated Halide schedule to use circular buffer optimization by @skeqiqevian in https://github.com/exo-lang/exo/pull/629 Allow divide_dim to divide to non-literal expressions by @SamirDroubi in https://github.com/exo-lang/exo/pull/628 Update dependencies and requirements by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/630 Fix bug in lift_reduce_constant by @SamirDroubi in https://github.com/exo-lang/exo/pull/627 Support Defining Globals for Instructions by @SamirDroubi in https://github.com/exo-lang/exo/pull/607 Bump dependencies dependabot has discovered by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/636 Small benign bug fix by @skeqiqevian in https://github.com/exo-lang/exo/pull/643 Bump pytest-cov from 3.0.0 to 5.0.0 by @dependabot in https://github.com/exo-lang/exo/pull/638 Bump pre-commit from 3.6.0 to 3.7.0 by @dependabot in https://github.com/exo-lang/exo/pull/639 Bump numpy from 1.23.4 to 1.26.4 by @dependabot in https://github.com/exo-lang/exo/pull/641 Bump black from 24.3.0 to 24.4.2 by @dependabot in https://github.com/exo-lang/exo/pull/642 Bump pytest from 8.1.1 to 8.2.0 by @dependabot in https://github.com/exo-lang/exo/pull/640 Bump coverage from 7.5.0 to 7.5.1 by @dependabot in https://github.com/exo-lang/exo/pull/646 Fix stage_mem logic for which expressions should use the staged memory by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/614 Bump pytest from 8.2.0 to 8.2.1 by @dependabot in https://github.com/exo-lang/exo/pull/648 Bump pre-commit from 3.7.0 to 3.7.1 by @dependabot in https://github.com/exo-lang/exo/pull/647 Remove Halide op's dependence on loop iters having same name + documenting limitations by @skeqiqevian in https://github.com/exo-lang/exo/pull/649 Bump coverage from 7.5.1 to 7.5.3 by @dependabot in https://github.com/exo-lang/exo/pull/653 Update the pip version by @yamaguchi1024 in https://github.com/exo-lang/exo/pull/655 New Contributors @adcastel made their first contribution in https://github.com/exo-lang/exo/pull/285 @rachitnigam made their first contribution in https://github.com/exo-lang/exo/pull/427 @gdinh made their first contribution in https://github.com/exo-lang/exo/pull/449 @andrewj31415 made their first contribution in https://github.com/exo-lang/exo/pull/519 @kehemo made their first contribution in https://github.com/exo-lang/exo/pull/581 Full Changelog: https://github.com/exo-lang/exo/compare/v0.0.2...v0.1.0
If you use Exo, please cite both the compiler and the paper.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
