Published October 11, 2024
| Version v0.23.0
Software
Open
xdslproject/xdsl: v0.23.0
Creators
- Sasha Lopoukhine
- Fehr Mathieu1
- Emilien Bauer1
- Anton Lydike2
- Michel Weber
- Nicolai Stawinoga
- George Bisbas3
- Dalia Shaaban
- kingiler
- Tobias Grosser4
- kayode-gif
- Chris Vasiladiotis1
- Alex Rice
- Nick Brown
- ThΓ©o Degioanni5
- KGrykiel
- Prathamesh Tagore
- Christian Ulmann6
- David K
- Josse Van Delm7
- Federico Ficarelli
- Joren Dumoulin8
- Alban Dutilleul
- Alessandro Cerioli
- George Mitenkov
- Shaolun Wang
- Kunwar Grover9
- Luc Jaulmes
- Erick Ochoa
- 1. University of Edinburgh
- 2. The University of Edinburgh
- 3. Imperial College of London
- 4. University of Cambridge
- 5. NVIDIA
- 6. NextSilicon
- 7. KU Leuven
- 8. MICAS (KU Leuven)
- 9. nod.ai / AMD AI Group
Description
xDSL framework
- transforms: (canonicalize) Add full dce @alexarice (#3267)
- core: Fix parsing for hex denseAttrs @vinayakdsci (#3239)
- core: Block predecessors @alexarice (#3235)
Dialects
- dialects: (llvm) Add support for overflow flags @lfrenot (#3269)
- dialects: (cf) cond_br folding @alexarice (#3283)
- dialects: (arith) split generic binary op definition into specific ones @superlopuh (#3274)
- dialects: (llvm) ArithmeticBinOpBase is always on integers @superlopuh (#3270)
- dialects: (mod_arith) create mod_arith dialect and add initial operation @emmau678 (#3218)
- dialects: (stencil) add StencilType constraints @superlopuh (#3254)
- dialects: (builtin) add AnyMemRefTypeConstr and AnyTensorTypeConstr @superlopuh (#3246)
- dialects: (varith) Add varith (variadic arithmetic) dialect @AntonLydike (#3241)
- dialects: (cf) br folding @alexarice (#3240)
- dialects: (dmp) Emit multiple swaps if halo is larger than core size @AntonLydike (#3238)
- tool: tblgen-to-py script @alexarice (#3210)
- dialects: (stim) Add first annotation op @kimxworrall (#3115)
- dialects: (cf) branch canonicalization. @alexarice (#3234)
- dialects: (cf) Assert canonicalization pattern @alexarice (#3228)
- dialects: (riscv) canonicalization pattern added (x|0=x) @lfrenot (#3230)
- dialects: (stim) add qubit attribute and qubit coordinate attribute @kimxworrall (#3114)
- dialects: (riscv) Add rewrite pattern to optimize bitwise xor by zero @emmau678 (#3197)
- dialects: (tosa) turn attributes into properties @jorendumoulin (#3188)
- dialects: (csl) add
csl.activate
@dk949 (#3191) - fix: various minor fixes for the csl variables @dk949 (#3184)
- dialects: (scf) small refactor for index_switch @alexarice (#3178)
- dialects: (eqsat) add dialect and create new eclass op @superlopuh (#3175)
- dialects: (cf) add switch @alexarice (#3156)
- dialects: (scf) add index_switch @alexarice (#3157)
- dialects: llvm.InLineAsmOp has_side_effects, is_align_stack are properties @JosseVanDelm (#3147)
- dialects: (scf) make iteration variable type explicit @alexarice (#3138)
- dialects: (cf) Custom Parsing and assert change @alexarice (#3132)
- dialects: (csl) Add
direction
type @n-io (#3136) - dialects: (csl) Adds variables to the dialect @dk949 (#3183)
- dialects: (builtin) add i8 default types @jorendumoulin (#3164)
- dialects: (scf) fix
scf.if
printing bug @alexarice (#3160) - dialects (tosa): initialize dialect and add Clamp and Rescale operation @jorendumoulin (#3158)
Transformations
- dialects: (cf) cond_br folding @alexarice (#3283)
- transformations: (lower-csl-stencil) Optimise full-stencil access @n-io (#3271)
- transforms: (cf) fix passthrough operands @alexarice (#3282)
- transformations: (memref-to-dsd) Support pre-existing GetMemDsd ops @n-io (#3279)
- transforms: (canonicalize) Add full dce @alexarice (#3267)
- fix: add extension to filename when calling set_tile_code @dk949 (#3268)
- transforms: (dce) region-level dce @alexarice (#3253)
- transformations: Add convert-arith-to-varith pass @AntonLydike (#3242)
- transforms: (canonicalize) improve dead code elimination @alexarice (#3252)
- dialects: (cf) br folding @alexarice (#3240)
- transformations: (lower-csl-stencil) Promote args before outlining @n-io (#3237)
- transformations: (memref-to-dsd) Handle csl variables @n-io (#3236)
- dialects: (cf) branch canonicalization. @alexarice (#3234)
- dialects: (cf) Assert canonicalization pattern @alexarice (#3228)
- transformations: New stencil-shape-minimize pass @n-io (#3229)
- transformations: New csl-stencil-materialize-stores pass @n-io (#3222)
- transformations: (lower-csl-stencil) Send only core data @n-io (#3223)
- transformations: (licm) add
can_be_hoisted
helper function @RRavikiran66 (#3078) - fix: (csl) adjusted width and height of the PE @dk949 (#3209)
- transformations: Add CSL dsd canonicalisation @n-io (#3208)
- transformations: (scf-to-cf) add lowering for index_switch @alexarice (#3179)
- transformations: (lower-csl-stencil) Store results to apply.dest @n-io (#3203)
- transformations: (csl-stencil-to-csl-wrapper) Add
unblock_cmd_stream
call @n-io (#3198) - transformations: (csl-stencil) Add pass to handle async ops and enclosing cf @n-io (#3192)
- transformation: Scf to cf lowering @alexarice (#3153)
- transformations: Add new csl-wrapper-hoist-buffers pass @n-io (#3165)
- fix: Add the missing call to
@set_rectangle
@dk949 (#3149) - transformations: (csl) add
csl.rpc
op @dk949 (#3143) - transformations: Lower
csl_wrapper.import
tocsl.import
@dk949 (#3137) - transformations: Add pass to lower csl-stencil dialect @n-io (#3134)
- transformations: from
csl_wrapper
tocsl
modules @dk949 (#3107)
Backend
- backend: (csl) Array literals @n-io (#3292)
- backend: (csl) Support zero-stride dsd printing @n-io (#3280)
- backend: (csl) allow
get_dir
to be inlined @dk949 (#3202) - backend: (csl) added arith.select to csl backend @dk949 (#3199)
- backend: (csl) Don't use CSL keywords as var names @dk949 (#3152)
- fix: Minor corrections to the CSL backend @dk949 (#3142)
- backend: (csl) Add comparison operators to CSL @dk949 (#3139)
Interpreter
- interpreter: use interpreter default bitwidth in run main @superlopuh (#3034)
API
- api: add replace_by_if helper to control ssa value replacement @superlopuh (#3196)
π Bug Fixes
- transforms: (cf) fix passthrough operands @alexarice (#3282)
- bug: Tighten type constraints on DenseArrayBase.create_dense_int_or_index @vinayakdsci (#3258)
- transformations: (lower-csl-stencil) Promote args before outlining @n-io (#3237)
- bug: Print csl namehint fix @n-io (#3207)
- bug: (csl-stencil-handle-async-flow) Increment counter correctly @n-io (#3201)
Testing
- transforms: (canonicalize) improve dead code elimination @alexarice (#3252)
- dialects: (cf) br folding @alexarice (#3240)
- core: Block predecessors @alexarice (#3235)
- dialects: (cf) branch canonicalization. @alexarice (#3234)
- dialects: (cf) Assert canonicalization pattern @alexarice (#3228)
- transformations: (scf-to-cf) add lowering for index_switch @alexarice (#3179)
- dialects: (cf) add switch @alexarice (#3156)
- dialects: (scf) add index_switch @alexarice (#3157)
- transformation: Scf to cf lowering @alexarice (#3153)
- dialects: (scf) make iteration variable type explicit @alexarice (#3138)
- dialects: (cf) Custom Parsing and assert change @alexarice (#3132)
Continuous Integration
- Revert "pip prod(deps): bump jax from 0.4.31 to 0.4.32 (#3161)" @superlopuh (#3166)
Installation
- pip prod(deps): bump marimo from 0.9.4 to 0.9.6 @dependabot (#3288)
- pip prod(deps): bump textual from 0.82.0 to 0.83.0 @dependabot (#3289)
- pip prod(deps): bump pyright from 1.1.345 to 1.1.384 @dependabot (#3278)
- pip prod(deps): bump marimo from 0.9.2 to 0.9.4 @dependabot (#3266)
- pip prod(deps): bump pre-commit from 4.0.0 to 4.0.1 @dependabot (#3265)
- pip prod(deps): bump marimo from 0.9.1 to 0.9.2 @dependabot (#3257)
- pip prod(deps): bump ruff from 0.6.8 to 0.6.9 @dependabot (#3256)
- pip prod(deps): bump marimo from 0.9.0 to 0.9.1 @dependabot (#3249)
- pip prod(deps): bump jax from 0.4.33 to 0.4.34 @dependabot (#3250)
- pip prod(deps): bump numpy from 2.1.1 to 2.1.2 @dependabot (#3248)
- pip prod(deps): bump pre-commit from 3.8.0 to 4.0.0 @dependabot (#3251)
- pip prod(deps): bump marimo from 0.8.22 to 0.9.0 @dependabot (#3243)
- pip prod(deps): bump textual from 0.81.0 to 0.82.0 @dependabot (#3244)
- pip prod(deps): bump onnx from 1.16.2 to 1.17.0 @dependabot (#3232)
- pip prod(deps): bump marimo from 0.8.20 to 0.8.22 @dependabot (#3226)
- pip prod(deps): bump ruff from 0.6.5 to 0.6.8 @dependabot (#3219)
- pip prod(deps): bump marimo from 0.8.17 to 0.8.20 @dependabot (#3215)
- pip prod(deps): bump textual from 0.80.0 to 0.81.0 @dependabot (#3217)
- pip prod(deps): bump textual from 0.79.1 to 0.80.0 @dependabot (#3212)
- pip prod(deps): bump marimo from 0.8.15 to 0.8.17 @dependabot (#3193)
- pip prod(deps): bump wgpu from 0.18.0 to 0.18.1 @dependabot (#3187)
- pip prod(deps): bump jax from 0.4.31 to 0.4.33 @dependabot (#3177)
- pip prod(deps): bump wgpu from 0.17.3 to 0.18.0 @dependabot (#3176)
- pip prod(deps): bump marimo from 0.8.14 to 0.8.15 @dependabot (#3168)
- pip prod(deps): bump ruff from 0.6.4 to 0.6.5 @dependabot (#3167)
- pip prod(deps): bump wgpu from 0.16.0 to 0.17.3 @dependabot (#3163)
- pip prod(deps): bump jax from 0.4.31 to 0.4.32 @dependabot (#3161)
- pip prod(deps): bump filecheck from 1.0.0 to 1.0.1 @dependabot (#3150)
- pip prod(deps): bump marimo from 0.8.13 to 0.8.14 @dependabot (#3159)
- pip prod(deps): bump marimo from 0.8.11 to 0.8.13 @dependabot (#3151)
- pip prod(deps): bump ruff from 0.6.3 to 0.6.4 @dependabot (#3148)
- pip prod(deps): bump marimo from 0.8.7 to 0.8.11 @dependabot (#3146)
- pip prod(deps): bump numpy from 2.1.0 to 2.1.1 @dependabot (#3140)
Miscellaneous
- backend: (csl) Array literals @n-io (#3292)
- misc: remove unnecessary pyright ignore comments [NFC] @superlopuh (#3286)
- misc: use VarConstraint instead of Annotated[ConstraintVar] in operation definitions @superlopuh (#3264)
- backend: (csl) Support zero-stride dsd printing @n-io (#3280)
- transformations: (memref-to-dsd) Support pre-existing GetMemDsd ops @n-io (#3279)
- misc: add more .constr helpers and constraints @superlopuh (#3273)
- fix: add extension to filename when calling set_tile_code @dk949 (#3268)
- misc: add pyright ignores for places where it's not going to be happy @superlopuh (#3263)
- misc: miscellaneous linting wrt Pylance @superlopuh (#3262)
- misc: minor linting @superlopuh (#3259)
- transformations: (memref-to-dsd) Handle csl variables @n-io (#3236)
- misc: re-run notebooks with newer version of marimo @superlopuh (#3227)
- transformations: (lower-csl-stencil) Send only core data @n-io (#3223)
- fix: (csl) adjusted width and height of the PE @dk949 (#3209)
- bug: Print csl namehint fix @n-io (#3207)
- backend: (csl) allow
get_dir
to be inlined @dk949 (#3202) - transformations: (lower-csl-stencil) Store results to apply.dest @n-io (#3203)
- bug: (csl-stencil-handle-async-flow) Increment counter correctly @n-io (#3201)
- transformations: (csl-stencil-to-csl-wrapper) Add
unblock_cmd_stream
call @n-io (#3198) - misc: raise instead of returning error in MemrefLayoutAttr.get_affine_map @superlopuh (#3182)
- misc: remove redundant
AnyAttr()
constraints from op definitions [NFC] @superlopuh (#3181) - dialects: (scf) small refactor for index_switch @alexarice (#3178)
- dialects: (csl) Add
direction
type @n-io (#3136) - enhancement: Changing names and namehints in the csl pipeline @n-io (#3204)
Files
xdslproject/xdsl-v0.23.0.zip
Files
(1.5 MB)
Name | Size | Download all |
---|---|---|
md5:31fccfe1dd67742d41ae6158fd51a0aa
|
1.5 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/xdslproject/xdsl/tree/v0.23.0 (URL)