Catalyst v0.1.2
New features
-
Add an option to print verbose messages explaining the compilation process
#68 -
Allow
catalyst.grad
to be used on any traceable function (within a qjit context).
This means the operation is no longer resticted to acting onqml.qnode
s only.
#75
Improvements
-
Work in progress on a Lightning-Kokkos backend:
Bring feature parity to the Lightning-Kokkos backend simulator.
#55Add support for variance measurements for all observables.
#70 -
Build the runtime against qir-stdlib v0.1.0.
#58 -
Replace input-checking assertions with exceptions.
#67 -
Perform function inlining to improve optimizations and memory management within the compiler.
#72
Breaking changes
Bug fixes
-
Several fixes to address memory leaks in the compiled program:
Fix memory leaks from data that flows back into the Python environment.
#54Fix memory leaks resulting from partial bufferization at the MLIR level. This fix makes the
necessary changes to reintroduce the-buffer-deallocation
pass into the MLIR pass pipeline.
The pass guarantees that all allocations contained within a function (that is allocations that are
not returned from a function) are also deallocated.
#61Lift heap allocations for quantum op results from the runtime into the MLIR compiler core. This
allows all memref buffers to be memory managed in MLIR using the
MLIR bufferization infrastructure.
#63Eliminate all memory leaks by tracking memory allocations at runtime. The memory allocations
which are still alive when the compiled function terminates, will be freed in the
finalization / teardown function.
#78 -
Fix returning complex scalars from the compiled function.
#77
Contributors
This release contains contributions from (in alphabetical order):
Ali Asadi,
David Ittah,
Erick Ochoa Lopez,
Sergei Mironov.