Xiu-zhe (Roger) Luo
Xiu-zhe (Roger) Luo
I end up implementing the following ```julia # MLStyle patches @active GlobalRef(x) begin if x isa GlobalRef (x.mod, x.name) else nothing end end @active Argument(x) begin if x isa Argument...
It seems I can't use `@active` in that file, I don't know how to implement them without `@active`, perhaps I'll just define them in Expronicon.jl instead.
why not just write `@match` inside a function, it seems simple enough to provide such checks.
and for reference, if we replace the `@avx` with just `@inbounds`, and let Julia handle everything, it is a bit faster than `@avx` ```julia julia> @benchmark BQCESubroutine.subspace_mm!($(copy(st)), $indices, $SU, $temp_st,...
wow thanks for such a detailed reply! I didn't expect there's still a 3x speedup comparing to SA version, this is very impressive! But I'm wondering if `@avx` accepts `reinterpret`...
Wow this is very impressive. I further benchmarked your implementation with a manual loop version, and a fully expanded 4x4 and 8x8 version, `@avx` is slower in the `2x2` and...
Wow this is very impressive. I further benchmarked your implementation with a manual loop version, and a fully expanded 4x4 and 8x8 version, `@avx` is slower in the `2x2` and...
Thanks! It took me a while to wrap up things, but I just posted them in a repo - it will be the next gen simulator backend for [Yao.jl](https://github.com/QuantumBFS/Yao.jl) and...
@chriselrod so I just fixed the implementation in BQCESubroutine (need to use master branch), however, I realize currently I can only do multithreading in the outermost loop at the moment...
I tried to remove the reinterpret and use a 3-dim `StrideArray` directly then reinterpret that later outside (to make the multithreaded code simpler), so I get the following implementation, however...