Skip to content

DaCe 0.11.1

Compare
Choose a tag to compare
@tbennun tbennun released this 18 Oct 21:55
4c6695d

What's Changed

  • More flexible Python frontend: you can now call functions and object methods, use fields and globals in @dace programs! Some examples:
    • There is no need to annotate called functions
    • @dataclass and general object field support
    • Loop unrolling: implicit and explicit (with the dace.unroll generator)
    • Constant folding and explicit constant arguments (with dace.constant as a type hint)
    • Debuggability: all functions (e.g. dace.map, dace.tasklet) work in pure Python as well
    • and many more features
  • NumPy semantics are followed more closely, e.g., subscripts create array views
  • Direct CuPy and torch.tensor integration in @dace program arguments
  • Auto-optimization (preview): use @dace.program(auto_optimize=True, device=dace.DeviceType.CPU) to automatically run some transformations, such as turning loops into parallel maps.
  • ARM SVE code generation support by @sscholbe (#705)
  • Support for MLIR tasklets by @Berke-Ates in (#747)
  • Source Mapping by @benibenj in #756
  • Support for HBM on Xilinx FPGAs by @jnice-81 (#762)

Miscellaneous:

  • Various performance optimizations to calling @dace programs
  • Various bug fixes to transformations, code generator, and frontends

Full Changelog: v0.10.8...v0.11.1