Closed t-rothe closed 1 year ago
Thanks for your issue, but there is not gpuapplys.jl
file anymore. Could you please test on the latest version of CuYao?
It should be
(CuYao) pkg> st CuYao
Project CuYao v0.3.7
You're right. Compats of YaoExtensions and QuadDIRECT.jl were shadowing v0.3.7. Thanks a lot and issue solved!
A (seemingly) simple setup of trying to run apply!() on a cuzero_state(4) register:
This, however, throws an error:
UndefVarError: clocs not defined
Stacktrace: [1] instruct!(#unused#::Val{2}, state::CuArray{ComplexF64, 1, CUDA.Mem.DeviceBuffer}, U1::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, locs::Tuple{Int64}) @ CuYao C:\Users\trothe.julia\packages\CuYao\P3wMR\src\gpuapplys.jl:49
And indeed the referenced source in CuYao declares:
Which obviously can't work. Anyone knows why this piece is in the source in this way? And what makes my case special in that I couldn't find a similar issue in the issue trace? This seems as something that happens even for the most simple YaoBlocks and registers. The non-cuda version in Yao works just fine.
If that helps, the pqc_circuit mentioned above is the following:
I'm using latest CuYao v0.3.3 and other CUDA.jl related things are running fine. Julia v1.9.0 on Windows 11, CUDA v11.8.0.