-
Notifications
You must be signed in to change notification settings - Fork 59
feat: add cluster visualization for WhileOp, IfOp, ForOp
#2234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
andrijapau
merged 336 commits into
feature/graph-visualization
from
feature/control-flow-clusters
Dec 10, 2025
Merged
Changes from 250 commits
Commits
Show all changes
336 commits
Select commit
Hold shift + click to select a range
f397b47
isort
andrijapau 59e7826
fix source code
andrijapau 55fbb8e
Revert "fix source code"
andrijapau 0e1b68b
fix test
andrijapau 1749a1e
Apply suggestion from @andrijapau
andrijapau 0b65d42
remove incorrect import
andrijapau 8f579a0
update tests
andrijapau 4105697
isort
andrijapau 028098e
minor visual change
andrijapau 9f37379
feat: visualize control flow as clusters in the graph
andrijapau a5b8cd2
format
andrijapau b51016e
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau 13f39eb
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau d8a38b7
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 07a0597
Update frontend/catalyst/python_interface/visualization/construct_cir…
andrijapau 40b1eb4
move things around
andrijapau 77dd502
minor cleanup
andrijapau 7b807fd
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 022171e
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 19af1c7
clean-up
andrijapau 4c2c0b8
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau b4ccd61
refactor the get_ to properties
andrijapau d354dba
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau 9cf53b5
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau b36b3ae
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau d14c15b
update fake dag builder
andrijapau 4f35dcf
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau d429566
use new properties
andrijapau a2794c5
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau a1110ad
add test and use new properties
andrijapau cbb96ff
isort
andrijapau 9c0220b
fix test
andrijapau 0e0ddfd
attempt to get rid of _subgraphs
andrijapau c41adb9
clean-up test
andrijapau e803543
rename __base__ to None
andrijapau 42cede2
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau a9aa9ec
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau aa36682
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 085ec57
clean-up
andrijapau c08a84c
whoops
andrijapau edc2076
add cluster_ prefix
andrijapau 4c71876
add debug string
andrijapau f1e5849
bring back cache
andrijapau 0ff2ce9
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau 6f49870
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau a065593
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 3c9ca3a
add good dev comment
andrijapau b83e2a4
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau bc54dbf
Apply suggestion from @andrijapau
andrijapau ee57f40
Apply suggestion from @andrijapau
andrijapau c341858
whoops
andrijapau 2ded5dc
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau 5943c1a
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 7d051ac
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 0460cac
refactor singledispatch
andrijapau fd44ce6
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 1a6aa98
minor improvements
andrijapau 39fe0b9
whoops
andrijapau f495934
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 194433f
format
andrijapau 76025f3
more clean-up
andrijapau ccceb2b
clobbered
andrijapau 0cbe9af
Update frontend/catalyst/python_interface/visualization/dag_builder.py
andrijapau 4dbdb13
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau fddfa75
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 4596d02
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 813ec0e
remove unused
andrijapau 3b1d25e
remove unused
andrijapau f25d136
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 96d3b37
fix pylint
andrijapau 2e2a97c
more tests
andrijapau e752329
add more details to docstring
andrijapau 5dccfbb
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 123144f
clean up tests
andrijapau d0c7c9f
try to improve tests
andrijapau cd9d5f4
add device test
andrijapau 6cda3bf
format
andrijapau 86b5662
Update frontend/catalyst/python_interface/visualization/dag_builder.py
andrijapau 9c26efd
Update frontend/catalyst/python_interface/visualization/pydot_dag_bui…
andrijapau 81a9aa6
Update frontend/catalyst/python_interface/visualization/pydot_dag_bui…
andrijapau ab06276
Update frontend/test/pytest/python_interface/visualization/test_pydot…
andrijapau 3e4102b
Update frontend/catalyst/python_interface/visualization/pydot_dag_bui…
andrijapau 194f14a
Update frontend/catalyst/python_interface/visualization/dag_builder.py
andrijapau 199ab70
add reset
andrijapau e28a1a9
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 24d3dd3
Apply suggestion from @andrijapau
andrijapau 685842c
fix fakebackend
andrijapau 986fb3f
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau 07b7655
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 11f5864
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 8c64d81
isort
andrijapau 606f5f5
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau edfcb93
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 0370886
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 9847b39
try moving cluster stack to dag builder
andrijapau 57ce573
add test
andrijapau 805d21b
Revert "add test"
andrijapau c0e0283
Revert "try moving cluster stack to dag builder"
andrijapau e1a6c64
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 2a960cf
improve device test
andrijapau a21e6dd
fix black isort
andrijapau b06585b
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau f666a9f
add exceptions check
andrijapau e28b2b7
add better documentation
andrijapau af5e52c
fix
andrijapau 952fd7f
fix typo
andrijapau 99f9fc6
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau 492276d
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 8f2dc98
Apply suggestion from @andrijapau
andrijapau eac25d5
Merge branch 'fix/upgrade-dag-builders' into feature/mlir-to-dag-pass
andrijapau b06e92e
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau 53497ba
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 83225b3
Merge branch 'feature/graph-visualization' into feature/mlir-to-dag-pass
andrijapau 7d04249
fix tests
andrijapau fbb0c5a
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 941675f
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau bb9549d
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 2bad538
add reminder comments
andrijapau 683768e
add back comment
andrijapau 2adb3b2
format
andrijapau f7bbb6b
fix test name
andrijapau f7f4b5a
fix test
andrijapau a21f878
fix tests
andrijapau ae0ff32
format
andrijapau 26ae968
Apply suggestion from @andrijapau
andrijapau 1d4f1f1
more explanation
andrijapau 70ec17a
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau ed8bae0
more fixes
andrijapau 25e8051
fix up testing
andrijapau ffc9726
fix naming
andrijapau a243614
Merge branch 'feature/mlir-to-dag-pass' into feature/visualize-qnode
andrijapau e58891a
new testing approach
andrijapau 6d1ab99
format
andrijapau 710e6a8
test the fakebackend
andrijapau cb931d1
whoops forgot test
andrijapau 049a683
improve test
andrijapau 9ea917e
add new feature of jit_ prefix removal and single qnode
andrijapau fd41bc5
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau fd26a37
whoops
andrijapau 1ad2ec0
format
andrijapau 7fdbac0
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 8fc4a30
improve some tests
andrijapau bfd28b2
shouldn't have conditional label
andrijapau 4753071
Merge branch 'feature/graph-visualization' into feature/visualize-qnode
andrijapau 6200c76
Merge branch 'feature/graph-visualization' into feature/visualize-qnode
andrijapau 1f90c6d
Merge branch 'feature/graph-visualization' into feature/visualize-qnode
andrijapau 9aef399
id to uid rename
andrijapau e87dba2
format
andrijapau 14ed4bc
Merge branch 'feature/graph-visualization' into feature/visualize-qnode
andrijapau be1961c
rename inner stack
andrijapau c92736a
format
andrijapau ca44e59
Apply suggestion from @andrijapau
andrijapau f84a6f1
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 3a8da55
Apply suggestion from @andrijapau
andrijapau 26e95f9
format
andrijapau d7f21bd
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau c9594ee
fix
andrijapau d76fcca
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau c0554c5
fix
andrijapau a80141c
format
andrijapau 529cace
rename cluster stack
andrijapau 4a172dd
return op doesnt have regions
andrijapau a54de21
Apply suggestion from @andrijapau
andrijapau 5a731c0
Merge branch 'feature/graph-visualization' into feature/visualize-qnode
andrijapau 53f80b3
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 2bb5bde
update testing and add for loop label upgrade
andrijapau 434c500
fix
andrijapau cfa5f3b
add more tests
andrijapau a62f2b1
add dev comments
andrijapau d9026ef
more testing
andrijapau faf338f
move things around
andrijapau 5d03a81
add more qol
andrijapau 56e4756
Update frontend/catalyst/python_interface/visualization/construct_cir…
andrijapau c95c45f
Update frontend/catalyst/python_interface/visualization/construct_cir…
andrijapau 18aa30b
Update frontend/catalyst/python_interface/visualization/construct_cir…
andrijapau 929bd23
add flattened ifop ability
andrijapau 709e961
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau b51bb7b
fix
andrijapau 89f45f3
fix
andrijapau b45b2f0
fix
andrijapau 2028fa7
fix
andrijapau 4e994e6
simplify PR by making it for ...
andrijapau e590847
format
andrijapau eb6a0c3
fix tests
andrijapau 7eb31b6
format
andrijapau 8e787c9
fix logic in flatten if op
andrijapau 8b6287f
format
andrijapau 83ebb18
fix type hinting
andrijapau 6d84d36
add dev comment
andrijapau 3c42841
more deviceop tests
andrijapau e319aae
Apply suggestion from @andrijapau
andrijapau 1c9c857
re-order changelog
andrijapau 093a5d5
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 2ca7bb8
add cl entry
andrijapau 61b70d9
add smaller fontsize for the conditional bit
andrijapau 089cb14
both single and multi qnode have qjit bounding box
andrijapau 2a2d55c
Apply suggestion from @andrijapau
andrijapau 220c6d5
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau f7261a9
add more detail to the for loop label
andrijapau a8cd49c
format
andrijapau 70b0d93
fix test
andrijapau cb05921
use counter instead of builtin id function
andrijapau 1883fb3
whoops
andrijapau 5e2d456
Apply suggestion from @andrijapau
andrijapau 36b5f7d
Apply suggestion from @andrijapau
andrijapau ee15b67
Apply suggestion from @andrijapau
andrijapau 16e003d
add two counters
andrijapau 23561f7
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau d5ccaf7
use the counters for uid
andrijapau 1dd9f38
update tests to be simpler
andrijapau 6a9b01d
fix tests
andrijapau a2ac9ff
minor fix
andrijapau 0dbe4fe
foramt
andrijapau d92aea4
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau 8afc67a
Apply suggestion from @andrijapau
andrijapau c0d4d67
update tests
andrijapau 9706967
update tests
andrijapau 5e62c31
format
andrijapau 1474a66
whoops fix test
andrijapau 82430af
Merge branch 'feature/visualize-qnode' into feature/control-flow-clus…
andrijapau ced6f75
format
andrijapau 5641e68
fix test
andrijapau 22c8ae1
add more nested testing
andrijapau ab7c471
format
andrijapau 9996684
fix test
andrijapau c262df9
format
andrijapau 506f839
fix labels
andrijapau f67802f
fix labels
andrijapau 30db67e
Merge branch 'feature/graph-visualization' into feature/control-flow-…
andrijapau d069fef
fix
andrijapau e29f546
bring back ssavalue
andrijapau b34d8e2
format
andrijapau aa1d90c
format
andrijapau 27ff971
remove random import
andrijapau 20efb54
get rid of unnecessary function
andrijapau 81e9fe5
Update frontend/catalyst/python_interface/visualization/construct_cir…
andrijapau 7eb1da4
Update frontend/test/pytest/python_interface/visualization/test_const…
andrijapau 5fc9cf1
fix bug and add test coverage
andrijapau ef5550f
fix test and format
andrijapau c2bd854
remove ssa condition, not needed for now
andrijapau f8b2922
refactor a bit
andrijapau e58cc4e
add another test
andrijapau 1877cf9
whoops
andrijapau 04ee8e2
update how the node labels look
andrijapau d8c1b7a
improve logic
andrijapau 2071360
Merge branch 'feature/graph-visualization' into feature/control-flow-…
andrijapau c86043f
remove node label
andrijapau ea8c9b7
add labeljust
andrijapau 80798f9
fix cluster
andrijapau ac5ffe7
Apply suggestion from @andrijapau
andrijapau File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.