tlopex opened a new pull request, #18229:
URL: https://github.com/apache/tvm/pull/18229

   ### **Overview**
   
   This PR implements native Python function support in TVM Relax through the 
`@I.pyfunc` decorator and `BasePyModule`, which enable seamless integration 
between TVM's compilation pipeline and Python/PyTorch runtime environments. 
This enhancement allows users to write Python functions directly in TVMScript 
that can interoperate with Relax and TIR functions that provides enhanced 
debugging capabilities and leveraging existing PyTorch operator libraries.
   
   ### **Key Features**
   **TVMScript Parser Enhancement**
   - `@I.pyfunc` decorator: Marks Python functions for integration into 
IRModules
   - Dual storage format: Stores both raw string representation (for TVMScript 
printing) and captured PackedFunc (for runtime execution)
   - ExternFunc representation: Each Python function is represented as an 
ExternFunc node with attributes storing source code and runtime wrapper
   
   **Complete BasePyModule Implementation**
   - DLPack-based tensor conversion: Seamless conversion between PyTorch 
tensors and TVM NDArrays
   - Cross-function interoperability: Python functions can call Relax/TIR 
functions and vice versa
   - JIT compilation: Delays compilation until module instantiation for 
flexible late-stage modifications
   - Dynamic function registration: Supports runtime addition of Python 
functions
   
   ### Future Work
   - TVMScript printer for IRModules with Python functions: Print IRModules in 
proper format with high-level operator mapping from Relax ops to PyTorch ops, 
handling symbolic shapes
   - R.call_py_func primitive: Introduce Relax primitive to invoke 
corresponding PackedFunc of specified Python functions at runtime
   
   


-- 
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.

To unsubscribe, e-mail: [email protected]

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

Reply via email to