-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Open
Labels
Description
What is your question?
Hi, I noticed that when using dynamic range, object aliasing seems to break if inplace operations are performed. Is this expected?
Sample code:
import cutlass
import cutlass.cute as cute
@cute.jit
def f():
state0 = cutlass.pipeline.make_pipeline_state(cutlass.pipeline.PipelineUserType.Producer, stages=2)
state1 = state0
print(state1 is state0)
state0.advance()
print(state1 is state0) # -> True
state0.advance()
print(state1 is state0) # -> True
state0.advance()
print(state1 is state0) # -> True
for i in cutlass.range_constexpr(3):
state0.advance()
print(state1 is state0) # --> True
print(state1 is state0) # --> True
print("--- Here! ---")
for i in cutlass.range(3):
state0.advance()
print(state1 is state0) # --> False!
print(state1 is state0) # --> False!
f()