Skip to content

Proton's ScopeIdAllocation::run verification is too limiting #8516

@saagarjha

Description

@saagarjha

Describe the bug

At

the verifier in the compiler checks that for every exit scope it encounters, a valid enter scope has already been seen. This prevents code that is dynamically correct but lexically "misordered", such as this:

initialized = False

for i in range(0, 2):
	if initialized:
		wait_init_completion()
		pl.exit_scope("whatever")

	pl.enter_scope("whatever")
	do_init()
	initialized = True

While this is a contrived example, our pipeline construction does generate cases like these and makes it difficult to profile traces like these using Proton.

Environment details

Triton: main
GPU: GH200

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions