@@ -519,7 +519,7 @@ function add_transform_kernel!(tdst::TensorMap,
519
519
structure_src = transformer. structure_src. fusiontreestructure
520
520
521
521
tforeach (transformer. rows, transformer. cols, transformer. vals;
522
- backend. scheduler ) do row, col, val
522
+ scheduler = backend. subblockscheduler ) do row, col, val
523
523
sz_dst, str_dst, offset_dst = structure_dst[col]
524
524
subblock_dst = StridedView (tdst. data, sz_dst, str_dst, offset_dst)
525
525
@@ -546,7 +546,7 @@ function add_transform_kernel!(tdst::TensorMap,
546
546
rows = rowvals (transformer. matrix)
547
547
vals = nonzeros (transformer. matrix)
548
548
549
- tforeach (axes (transformer. matrix, 2 ); backend. scheduler ) do j
549
+ tforeach (axes (transformer. matrix, 2 ); scheduler = backend. subblockscheduler ) do j
550
550
sz_dst, str_dst, offset_dst = structure_dst[j]
551
551
subblock_dst = StridedView (tdst. data, sz_dst, str_dst, offset_dst)
552
552
nzrows = nzrange (transformer. matrix, j)
602
602
603
603
function _add_abelian_kernel! (tdst, tsrc, p, fusiontreetransform, α, β,
604
604
backend:: TensorKitBackend , allocator)
605
- tforeach (fusiontrees (tsrc); backend. scheduler ) do (f₁, f₂)
605
+ tforeach (fusiontrees (tsrc); scheduler = backend. subblockscheduler ) do (f₁, f₂)
606
606
return _add_abelian_block! (tdst, tsrc, p, fusiontreetransform,
607
607
f₁, f₂, α, β, backend. arraybackend, allocator)
608
608
end
@@ -624,16 +624,17 @@ function _add_general_kernel!(tdst, tsrc, p, fusiontreetransform, α, β, backen
624
624
tdst = scale! (tdst, β)
625
625
end
626
626
β′ = One ()
627
- if backend. scheduler isa SerialScheduler
627
+ if backend. subblockscheduler isa SerialScheduler
628
628
for (f₁, f₂) in fusiontrees (tsrc)
629
629
for ((f₁′, f₂′), coeff) in fusiontreetransform (f₁, f₂)
630
630
@inbounds TO. tensoradd! (tdst[f₁′, f₂′], tsrc[f₁, f₂], p, false , α * coeff,
631
631
β′, backend. arraybackend, allocator)
632
632
end
633
633
end
634
634
else
635
- tforeach (Iterators. product (sectors (codomain (tsrc)), sectors (domain (tsrc)))) do (s₁,
636
- s₂)
635
+ tforeach (Iterators. product (sectors (codomain (tsrc)), sectors (domain (tsrc)));
636
+ scheduler= backend. subblockscheduler) do (s₁,
637
+ s₂)
637
638
return _add_nonabelian_sector! (tdts, tsrc, p, fusiontreetransform, s₁, s₂, α,
638
639
β′, backend. arraybackend, allocator)
639
640
end
0 commit comments