CuYao.jl
CuYao.jl copied to clipboard
CUDA extension for Yao.jl
register
#84 reminds me of this. It will make release much easier if we just ship as a package extension of CUDA. So there is no need to wait for a...
Not sure if it should an enhancement or fix, but I noticed that quantum backpropagation does not work with a GPU register (reg |> cu). It raises "scalar getindex is...
CI seems disconnected
MWE: ``` julia> using CuYao julia> c1 = put(10, (7,8,9)=>chain(3, chain(3, chain(3, chain(3, put(3, 1=>Ry(pi)), put(3, 2=>Ry(pi))))))) nqubits: 10 put on (7, 8, 9) └─ chain └─ chain └─ chain...
https://github.com/QuantumBFS/CuYao.jl/blob/ac4d15856a90bd8a63b3fdc4a8711f98af0dac49/src/CUDApatch.jl#L80 Should use `LinearAlgebra.promote_op` for consistency with `Base`
This package should provide a `gpu` function that do the following, like https://github.com/FluxML/Flux.jl/pull/513 ```julia some_circuit |> gpu(Float32) some_cricuit |> cpu(Float64) ```
9 qubit QCBM circuit with depth 8 ## Batched Performance ```julia console julia> @benchmark zero_state(n, 1000) |> cu |> $(qcbm.circuit) seconds = 2 BenchmarkTools.Trial: memory estimate: 17.13 MiB allocs estimate:...