"Boxed" functions

I have been looking at graph lowering passes in Pytorch 2.x and came across “boxed” functions (through make_boxed_func) in AOTAutograd.
Can someone explain boxed functions and what is their role in the compilation workflow?


Take a look at this blog post by @ezyang where he explains boxed and unboxed functions.