Skip to content

Catalyst v0.4.1

Compare
Choose a tag to compare
@josh146 josh146 released this 29 Jan 23:22
2d164aa

Improvements

  • Catalyst wheels are now packaged with OpenMP and ZStd, which avoids installing additional requirements separately in order to use pre-packaged Catalyst binaries. (#457) (#478)

    Note that OpenMP support for the lightning.kokkos backend has been disabled on macOS x86_64, due to memory issues in the computation of Lightning's adjoint-jacobian in the presence of multiple OMP threads.

Bug fixes

  • Resolve an infinite recursion in the decomposition of the Controlled operator whenever computing a Unitary matrix for the operator fails. (#468)

  • Resolve a failure to generate gradient code for specific input circuits. (#439)

    In this case, jnp.mod was used to compute wire values in a for loop, which prevented the gradient architecture from fully separating quantum and classical code. The following program is now supported:

    @qjit
    @grad
    @qml.qnode(dev)
    def f(x):
        def cnot_loop(j):
            qml.CNOT(wires=[j, jnp.mod((j + 1), 4)])
    
        for_loop(0, 4, 1)(cnot_loop)()
    
        return qml.expval(qml.PauliZ(0))
  • Resolve unpredictable behaviour when importing libraries that share Catalyst's LLVM dependency (e.g. TensorFlow). In some cases, both packages exporting the same symbols from their shared libraries can lead to process crashes and other unpredictable behaviour, since the wrong functions can be called if both libraries are loaded in the current process. The fix involves building shared libraries with hidden (macOS) or protected (linux) symbol visibility by default, exporting only what is necessary. (#465)

  • Resolve a failure to find the SciPy OpenBLAS library when running Catalyst, due to a different SciPy version being used to build Catalyst than to run it. (#471)

  • Resolve a memory leak in the runtime stemming from missing calls to device destructors at the end of programs. (#446)

Contributors

This release contains contributions from (in alphabetical order):

Ali Asadi, David Ittah.