[CODE] xdslproject/xdsl: v0.18

  • Sasha Lopoukhine (Creator)
  • Fehr Mathieu (Creator)
  • Emilien Bauer (Creator)
  • Anton Lydike (Creator)
  • Michel Weber (Creator)
  • George Bisbas (Creator)
  • Dalia Shaaban (Creator)
  • kingiler (Creator)
  • Tobias Grosser (Creator)
  • kayode-gif (Creator)
  • Chris Vasiladiotis (Creator)
  • Nick Brown (Creator)
  • Christian Ulmann (Creator)
  • Prathamesh Tagore (Creator)
  • Théo Degioanni (Creator)
  • Josse Van Delm (Creator)
  • Alban Dutilleul (Creator)
  • Federico Ficarelli (Creator)
  • George Mitenkov (Creator)
  • Shaolun Wang (Creator)
  • Kunwar Grover (Creator)
  • Alessandro Cerioli (Creator)
  • Luc Jaulmes (Creator)
  • KGrykiel (Creator)
  • Michel Steuwer (Creator)
  • Martin Paul Lücke (Creator)
  • K-W-Li (Creator)
  • Luisa Cicolini (Creator)
  • Alex Richins (Creator)

Dataset

Description

xDSL framework frontend (onnx): implementation graph visiting @alecerio (#2464) frontend: (onnx) visit_node implementation @alecerio (#2441) core: Fix optional operand declarative printing. @PapyChacal (#2448) core: More informative rewrite errors. @PapyChacal (#2445) frontend: [onnx] add test_visit_value_info_multiple_time @alecerio (#2437) core: Add optional attributes to declarative assembly format @lucjaulmes (#2407) frontend: (onnx) Unify type builders again @alecerio (#2418) frontend: [onnx] unify type builders @alecerio (#2334) core: Make location parsing public @Moxinilian (#2371) core: Fix printing of non-identifier symbols @Moxinilian (#2369) core: Make print_ssa_value return chosen name @Moxinilian (#2370) rewriting: Fix TypeConversionPattern recursive support for DictionaryAttr @Moxinilian (#2374) core: Fix bug in pattern rewriter when ErasedSSAValue is present @math-fehr (#2365) core: rewrite_op returns whether an action was performed @superlopuh (#2331) rewriting: Extend TypeConversionPattern annotation @Moxinilian (#2332) core: add insert_op_at_location to PatternRewriter @superlopuh (#2308) core: (pattern_rewriter) Revert accidental change @AntonLydike (#2318) core: use InsertPoint for block inlining @superlopuh (#2311) core: declarative format variable fix @PapyChacal (#2313) core: Make SSAValue hashable @AntonLydike (#2302) core: move InsertPoint to Rewriter [NFC] @superlopuh (#2310) core: make ModulePass frozen @superlopuh (#2254) core: Refix opaque syntax attribute spacing @PapyChacal (#2256) core: Spacing fix in EnumAttribute and OpaqueSyntaxAttribute @PapyChacal (#2248) core: Implement first cases of assembly format optional groups @PapyChacal (#2239) core: Assembly format spacing fix. @PapyChacal (#2238) Implement and test optional operand and result variables. @PapyChacal (#2107) core: Add checks on chaining variadics in declarative assembly format. @PapyChacal (#2106) core: add Hasher and HashableModule @superlopuh (#2210) core: Allow to get the expected base of an IRDL constraint @math-fehr (#2175) core: Make IRDL operations and attributes final @math-fehr (#2159) core: Allow unregistered citizens in a registered dialects @PapyChacal (#2161) frontend: (onnx) add get_shape and get_tensor_type @superlopuh (#2134) core: add custom attr and prop name support to assembly format @superlopuh (#2123) frontend: (onnx) re-arrange elem type @alecerio (#2132) core: Implement Printer property retrocompatibility. @PapyChacal (#2082) core: add replacement arg_values to inline_block_before @superlopuh (#2061) Dialects dialects: (onnx) implementation onnx.MatMul @alecerio (#2467) dialects: (x86) PR5_1 - single operand instructions - one source @KGrykiel (#2398) dialects: (seq) Add ConstClockOp @Moxinilian (#2461) dialects: (comb) Accept non-integer types in mux @Moxinilian (#2459) dialects: (comb) Fix bugs in variadic operations @Moxinilian (#2458) dialects: (comb) Fix lowBit case in extract op @Moxinilian (#2460) dialects: Implement stencil.combine @PapyChacal (#2454) dialects: (seq) Finish seq.compreg optionals @lucjaulmes (#2450) dialects: Implement stencil.dyn_access, test it (and stencil.index) @PapyChacal (#2380) dialects: Add accfg dialect operations @JosseVanDelm (#2430) dialects: (linalg) add linalg.broadcast @kayode-gif (#2433) dialects: (seq) Add builder and verifier for CompRegOp @Moxinilian (#2429) dialects: (builtin) Fix bound computation crash for i0 @Moxinilian (#2403) dialects: (seq) Add CompRegOp @Moxinilian (#2404) dialects: (riscv_snitch) Add Xdma extension operations @AntonLydike (#2410) dialects: (hw) Add hw.module and hw.output operations @Moxinilian (#2366) dialects: (linalg) add linalg.conv_2d_nchw_fchw @kayode-gif (#2400) dialects: (linalg) add attributes to linalg.pooling_nchw_max and base class for pooling ops @kayode-gif (#2392) dialects: (x86) PR4 - two-register-operand instructions @KGrykiel (#2379) dialects: Fix affine.ParallelOp boundsGroup checks. @PapyChacal (#2235) dialects: (linalg) add linalg.pooling_nchw_max @kayode-gif (#2388) dialects: (x86) PR3 - Assembly emission @KGrykiel (#2375) dialects: (x86) PR2 - Operations: add @KGrykiel (#2351) dialects: (comb) Fix replicate op @Moxinilian (#2372) dialects: (linalg) allow for empty results in linalg.fill custom format @superlopuh (#2363) dialects: (comb) Fix icmp parser/printer discrepancy and 2-state semantics modelling @Moxinilian (#2335) dialects: (x86) PR1 - Registers @KGrykiel (#2333) dialects: (gpu) Adding gpu.wait op @tavakkoliamirmohammad (#2298) dialects: (comb) Fix extract op @Moxinilian (#2327) dialects: (comb) Fix concat op @Moxinilian (#2326) dialects: (air) Add air dialect @gabrielrodcanal (#2234) bug: (onnx) fix onnx.Gemm @kayode-gif (#2323) dialects: (riscv) add index to registers @zero9178 (#2321) dialects: (snitch_stream) make snitch_stream parameters go outwards-in @superlopuh (#2294) dialects: (llvm) Fix constructor for llvm.InlineAsmOp @AntonLydike (#2312) dialects (hw): Fix Formatting @webmiche (#2317) dialects: (hw) Add InnerSymAttr attributes to HW dialect. @lucjaulmes (#2251) dialects: Implement tensor.insert_slice and tensor.extract_slice @PapyChacal (#2305) dialects: Implement bufferization.alloc_tensor and bufferization.to_tensor @PapyChacal (#2306) dialects: linalg minor fixes @PapyChacal (#2307) dialects: (linalg) add linalg.matmul @kayode-gif (#2296) (dialects): add linalg.tranpose @kayode-gif (#2280) dialects: (snitch_stream) simplify bounds of size 1 in stride pattern @superlopuh (#2276) dialects: (linalg) add linalg.mul @kayode-gif (#2278) dialects: reformat onnx.Constant to align with MNIST models one @kayode-gif (#2261) dialects: (riscv) mul is pure @superlopuh (#2257) dialects: make linalg.IteratorType an EnumAttribute @PapyChacal (#2249) dialects: (snitch_stream) add offsets to StridePattern and use in interpreter @superlopuh (#2252) dialects: (memref_stream) allow scalar argument to memref_stream generic @superlopuh (#2250) dialects: (memref) add custom format to memref.dealloc @superlopuh (#2247) onnx.reshape should check for product not length @kayode-gif (#2241) (dialects): add tensor.reshape @kayode-gif (#2240) dialects: (ml_program) add ml_program.global and ml_program.global_load_const @kayode-gif (#2209) dialects: Fix inline_asm unitattrs to not be properties @JosseVanDelm (#2223) dialects: Add LLVM InlineAsm op @JosseVanDelm (#2203) dialects: (hw) Add InnerSymbolTable and InnerRefNamespace to HW dialect @lucjaulmes (#1780) dialects: Update gpu.launch_func @PapyChacal (#2163) dialects: add linalg.fill @kayode-gif (#2189) dialects: (memref) add custom syntax to memref.alloc @superlopuh (#2191) dialects: (memref_stream) add memref_stream.generic @superlopuh (#2148) dialects: (memref_stream) add streaming region @superlopuh (#2146) dialects: (tensor) add tensor.Empty @kayode-gif (#2133) dialects: (snitch_stream) replace stride pattern op with attribute @superlopuh (#2143) dialects: (snitch_stream) add stride pattern attribute @superlopuh (#2141) dialects: (LLVM) Fix use of attributes dict when dialect specifies prop_def @ed741 (#2144) dialects: (aie) Add aie dialect @gabrielrodcanal (#1763) dialects: (snitch_stream) reverse bounds and strides in snitch_stream @superlopuh (#2139) dialects: (snitch_stream) remove StridedReadOp and LowerStridedWriteOp @superlopuh (#2127) dialects: (snitch_stream) remove stride pattern operand from strided read and write @superlopuh (#2126) dialects: (memref_stream) add memref_stream dialect with read and write ops @superlopuh (#2111) dialects: (memref) add custom syntax to memref.get_global @superlopuh (#2124) dialects: (linalg) add linalg.add @kayode-gif (#2129) dialects / bug : (linalg) linalg.generic constructor does not have a result types argument @kayode-gif (#2125) dialects: (stream) add abstract superclass for stream read and write @superlopuh (#2110) dialects: (riscv) canonicalization should move constants not replace with li @superlopuh (#2104) dialects: (arith) adding an arith canonicalisation pattern @dshaaban01 (#2094) dialects: (riscv) don't canonicalize getting the zero register to li 0 @superlopuh (#2101) dialects: (riscv) fix signedness in riscv @superlopuh (#2100) dialects: (builtin) fix ranges for integers @superlopuh (#2099) dialects: (riscv_scf) make riscv_scf.yield implicit @superlopuh (#2092) dialects: (riscv) Canonicalize the loading 0 to li zero, 0 @superlopuh (#2077) dialects (riscv_cf): Allow float register types for block argument types @compor (#2083) dialects (riscv): Add canonicalization pattern to fuse fmul.d and fadd.d to fmadd.d @compor (#2079) dialects: (onnx) add onnx.EntryPoint @kayode-gif (#2078) dialects: (onnx) add onnx.MaxPoolSingleOut @kayode-gif (#2072) dialects (riscv): Fix missing attribute name from custom format @compor (#2075) dialects: (hw) Add InnerRefNamespaceTrait to HWModuleOp @lucjaulmes (#2406) dialects: (pdl) Fix printer and parser for PDL range type @Moxinilian (#2325) dialects: (linalg) add custom printer and parser support for doc and library call @jorendumoulin (#2090) Transformations dialects: Implement stencil.combine @PapyChacal (#2454) dialects: Implement stencil.dyn_access, test it (and stencil.index) @PapyChacal (#2380) transformations: implement stencil.store_result lowering. @PapyChacal (#2447) transformations: Improve and test stencil.index's lowering. @PapyChacal (#2444) core: More informative rewrite errors. @PapyChacal (#2445) transformations: (onnx) lower onnx.Conv to linalg @kayode-gif (#2396) transformations: (convert-snrt-to-riscv) Add lowering for 2d dma calls @AntonLydike (#2422) transformations: Add code for DMA 1D lowering. @cappadokes (#2420) transformations: (onnx) lower onnx.MaxPoolSingleOut to linalg @kayode-gif (#2382) transformations: Refine and enhance lowering Snitch runtime DMA operations to RISC-V @cappadokes (#2417) transformations: Add convert-snrt-to-riscv-asm pass to lower snrt ops to RISC-V dialect @AntonLydike (#2411) transformations: (test-lower-snitch-stream-to-asm) remove riscv-cse @superlopuh (#2386) transformations: (test-lower-snitch-stream-to-asm) rename file [NFC] @superlopuh (#2385) transformations: (reconcile-unrealized-casts) Disable warnings in pattern by default @Moxinilian (#2378) transformations: (reconcile-unrealized-casts) Make cast reconciliation available as a pattern @Moxinilian (#2376) transformations: (onnx) lower onnx.Gemm to linalg @kayode-gif (#2320) transformations: fix memref stream conversion @superlopuh (#2309) transformations: (mlir-opt) Add option to specify mlir-opt binary in args @AntonLydike (#2293) transformations: add imperfect loop nest support in memref_stream.streaming_region @superlopuh (#2277) transformations: (riscv-scf-loop-range-folding) add riscv.add support @superlopuh (#2263) transformations: simplify stride patterns when lowering memref_stream @superlopuh (#2253) (transformations): lower onnx.Reshape to linalg @kayode-gif (#2242) (bug): update add op lowering to check for -1 not 1 @kayode-gif (#2246) (transformations): lower onnx.Constant to linalg @kayode-gif (#2195) transformations: insert function declarations only if called @superlopuh (#2211) transformations: add riscv-cse @superlopuh (#2184) transformations: (riscv_func) handle external function declarations @superlopuh (#2216) transformations: scf-parallel-loop-tiling fixes. @PapyChacal (#2206) transformations: Remove target argument from stencil conversion @PapyChacal (#2202) transformations: Remove tiling and non-parallel loops from stencil conversion. @PapyChacal (#2199) transformations: add "generic" parameter to MLIROptPass @superlopuh (#2193) (transformations): lower onnx.Relu to linalg @kayode-gif (#2182) transformations: add lowering from memref_stream generic to loops @superlopuh (#2151) transformations: add memref-streamify @superlopuh (#2150) transformation: (convert_onnx_to_linalg) add lowering from onnx.Add to linalg.add @kayode-gif (#2158) transformations: add convert-linalg-to-memref-stream @superlopuh (#2149) transformations: (memref_stream) add streaming_region lowering @superlopuh (#2147) transformations: Make mlir-opt pass take the top-level module attributes into account. @PapyChacal (#2164) transformations: (snitch_strem) factor out stride pattern ops lowering [NFC] @superlopuh (#2140) transformations: Hoist pairs of memref loads and stores out of an scf.for loop @compor (#2135) transformations: add lower-linalg-to-loops to xDSL @superlopuh (#2038) transformations (riscv_scf): Change forwarded block args of riscv_cf.blt to use riscv_scf.yield operands when lowering from riscv_scf to riscv_cf @compor (#2085) transformations: (scf) add SimplifyTrivialLoops pattern @superlopuh (#2062) dialects (riscv): Add canonicalization pattern to fuse fmul.d and fadd.d to fmadd.d @compor (#2079) Backend backend: (csl) Add a print to csl backend @AntonLydike (#2344) backend: (riscv) fix scf to riscv scf lowering @superlopuh (#2168) testing: raise linalg snitch targets to func.func @superlopuh (#2157) backend: (riscv) correctly handle f64 moves when lowering @superlopuh (#2156) backend: (riscv) add convert-memref-stream-to-snitch pass @superlopuh (#2112) backend: (riscv) automatically detect loops to convert to frep @superlopuh (#2108) backend: (riscv) remove useless/buggy passes that used to help with ZERO register allocation @superlopuh (#2105) backend: (riscv) allocate a constant value of 0 to ZERO register @superlopuh (#2103) transformations (riscv_scf): Change forwarded block args of riscv_cf.blt to use riscv_scf.yield operands when lowering from riscv_scf to riscv_cf @compor (#2085) dialects (riscv_cf): Allow float register types for block argument types @compor (#2083) backend: (riscv) add a pass to rewrite li 0 to moving from zero register @superlopuh (#2076) dialects (riscv): Add canonicalization pattern to fuse fmul.d and fadd.d to fmadd.d @compor (#2079) backend: (riscv) no need to lower riscv func @superlopuh (#2074) dialects (riscv): Fix missing attribute name from custom format @compor (#2075) Interpreter interpreter: (linalg) Add linalg.PoolingNchwMaxOp and linalg.Conv2DNchwFchwOp interpreter functions @kayode-gif (#2425) interpreter: (onnx) Add rest of onnx operations for ONNX model MNIST targeting @kayode-gif (#2359) interpreter: (linalg) Add linalg operations for ONNX model MNIST targeting @kayode-gif (#2355) interpreter: (interpreter) Add check to see if operand count matches input count in run_op @kayode-gif (#2362) interpreter: replace list data representation in shaped array with bytebuffer @superlopuh (#2287) interpreter: pass interpreter instance to impl_attr @superlopuh (#2286) interpreter: add xtype, a typed memory format string @superlopuh (#2285) interpreter: (tensor) Add tensor operations for ONNX model MNIST targeting @kayode-gif (#2357) interpreter: (ml_program) Add ml_program operations to target MNIST ONNX model @kayode-gif (#2348) interpreter: (onnx) args should be casted to ShapedArray[float] not ShapedArray[int] @kayode-gif (#2350) interpreter: (onnx) add elementwise onnx ops and onnx.relu @kayode-gif (#2338) interpreter: (memref_stream) add interpreter implementation for memref_stream @superlopuh (#2290) interpreter: prettify result printing @superlopuh (#2284) interpreter: remove deallocated property on RawPtr @superlopuh (#2283) interpreter: add args arg to xdsl-run for entry point function arguments @superlopuh (#2229) interpreter: add value_for_attribute to interpreter @superlopuh (#2231) interpreter: add index_bitwidth to interpreter @superlopuh (#2230) interpreter: move RawPtr and TypedPtr to own file @superlopuh (#2183) interpreter: add riscv_scf to xdsl-run @superlopuh (#2178) interpreter: (riscv) add impl for riscv.sub @superlopuh (#2177) interpreter: add infrastructure to collect interpreter traces @superlopuh (#2171) interpreter: move comparisons to utils folder @superlopuh (#2086) 🗎 Documentation docs: onboarding papercuts @knickish (#2415) docs: a getting started guide for new contributors @superlopuh (#2401) 🐛 Bug Fixes dialects: (comb) Accept non-integer types in mux @Moxinilian (#2459) dialects: (comb) Fix bugs in variadic operations @Moxinilian (#2458) dialects: (comb) Fix lowBit case in extract op @Moxinilian (#2460) dialects: (builtin) Fix bound computation crash for i0 @Moxinilian (#2403) core: Fix printing of non-identifier symbols @Moxinilian (#2369) rewriting: Fix TypeConversionPattern recursive support for DictionaryAttr @Moxinilian (#2374) dialects: (comb) Fix replicate op @Moxinilian (#2372) dialects: (linalg) allow for empty results in linalg.fill custom format @superlopuh (#2363) dialects: (comb) Fix icmp parser/printer discrepancy and 2-state semantics modelling @Moxinilian (#2335) interpreter: (onnx) args should be casted to ShapedArray[float] not ShapedArray[int] @kayode-gif (#2350) dialects: (comb) Fix extract op @Moxinilian (#2327) dialects: (comb) Fix concat op @Moxinilian (#2326) bug: (onnx) fix onnx.Gemm @kayode-gif (#2323) transformations: fix memref stream conversion @superlopuh (#2309) dialects: reformat onnx.Constant to align with MNIST models one @kayode-gif (#2261) (bug): update add op lowering to check for -1 not 1 @kayode-gif (#2246) onnx.reshape should check for product not length @kayode-gif (#2241) interactive: don't apply selected pass twice @superlopuh (#2236) backend: (riscv) fix scf to riscv scf lowering @superlopuh (#2168) backend: (riscv) correctly handle f64 moves when lowering @superlopuh (#2156) dialects: (LLVM) Fix use of attributes dict when dialect specifies prop_def @ed741 (#2144) dialects / bug : (linalg) linalg.generic constructor does not have a result types argument @kayode-gif (#2125) dialects: (riscv) canonicalization should move constants not replace with li @superlopuh (#2104) dialects: (riscv) don't canonicalize getting the zero register to li 0 @superlopuh (#2101) dialects: (riscv) fix signedness in riscv @superlopuh (#2100) transformations (riscv_scf): Change forwarded block args of riscv_cf.blt to use riscv_scf.yield operands when lowering from riscv_scf to riscv_cf @compor (#2085) dialects (riscv): Fix missing attribute name from custom format @compor (#2075) Testing testing: use arguments in matmul kernel test @superlopuh (#2297) testing: change filecheck default timeout to 10s @superlopuh (#2295) testing: raise bottom-up test from snitch_stream to memref_stream @superlopuh (#2266) testing: manually simplify stride patterns in bottom-up test @superlopuh (#2270) testing: unify all our kernels to one test file @superlopuh (#2245) testing: rename test-lower-linalg-to-snitch to test-lower-snitch-stream-to-asm @superlopuh (#2237) testing: raise linalg snitch targets to func.func @superlopuh (#2157) testing: (snitch_stream) modify test to minimise upcoming PR diff @superlopuh (#2142) testing: add a timeout for make filecheck @superlopuh (#2102) testing: switch to debugpy in vscode launch config @superlopuh (#2088) testing: add kernels from our paper with verified assembly @superlopuh (#2073) Continuous Integration ci: Update codecov action version @georgebisbas (#2440) ci: update actions from node 16 to node 20 @superlopuh (#2288) ci: use old pytest @superlopuh (#2289) CI: Fix online notebooks @PapyChacal (#2084) Installation pip dev(deps-dev): bump textual from 0.56.2 to 0.56.4 @dependabot (#2443) pip prod(deps): bump ruff from 0.3.5 to 0.3.7 @dependabot (#2463) pip prod(deps): bump black[jupyter] from 24.3.0 to 24.4.0 @dependabot (#2462) pip dev(deps-dev): bump textual from 0.55.1 to 0.56.2 @dependabot (#2436) pip dev(deps-dev): bump textual from 0.55.0 to 0.55.1 @dependabot (#2414) pip dev(deps-dev): bump textual from 0.54.0 to 0.55.0 @dependabot (#2409) pip prod(deps): bump ruff from 0.3.4 to 0.3.5 @dependabot (#2408) pip dev(deps-dev): bump wgpu from 0.15.0 to 0.15.1 @dependabot (#2405) pip dev(deps-dev): bump textual from 0.53.1 to 0.54.0 @dependabot (#2383) pip prod(deps): bump pre-commit from 3.6.2 to 3.7.0 @dependabot (#2373) pip prod(deps): bump ruff from 0.3.3 to 0.3.4 @dependabot (#2360) pip prod(deps): bump pytest-asyncio from 0.23.5.post1 to 0.23.6 @dependabot (#2347) pip dev(deps-dev): bump textual from 0.52.1 to 0.53.1 @dependabot (#2345) pip prod(deps): bump black[jupyter] from 24.2.0 to 24.3.0 @dependabot (#2342) pip prod(deps): bump ruff from 0.3.2 to 0.3.3 @dependabot (#2343) pip prod(deps): update lit requirement from

Data Citation

Sasha Lopoukhine, Fehr Mathieu, Emilien Bauer, Anton Lydike, Michel Weber, George Bisbas, Dalia Shaaban, kingiler, Tobias Grosser, kayode-gif, Chris Vasiladiotis, Nick Brown, Christian Ulmann, Prathamesh Tagore, Théo Degioanni, Josse Van Delm, Alban Dutilleul, Federico Ficarelli, George Mitenkov, … Alex Richins. (2024). xdslproject/xdsl: v0.18 (v0.18). Zenodo. https://doi.org/10.5281/zenodo.10988066
Date made available17 Apr 2024
PublisherZenodo

Cite this