mbrookhart opened a new pull request #7374:
URL: https://github.com/apache/tvm/pull/7374


   On very large models, we can have ASTs that stack overflow because we 
recursively traverse tens of thousands of chained Let nodes. In A-normal form, 
we can simply iterate over that chain instead.
   
   These changes find every pass that segfaults with a stack overflow in ONNX 
SSD-Mobilenet (~20k nodes) and hijacks the visitor to do iterative traversals 
over chains of lets. This lets me run that model without setting by 
significantly reducing the stack size.
   
   I also needed to convert FuseOps to mixed mode.
   
   This is still WIP, there's a lot of code copy in here I'd like to clean up 
and I need to figure out how to test the issues, but I'd like to kick of CI to 
make sure I didnt' break any edge cases not covered in the pass tests.
   
   Thanks!
   
   cc @jroesch @tqchen @tristan-arm @altanh @zhiics @masahi @kevinthesun 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to