f2013519 opened a new pull request, #16570: URL: https://github.com/apache/tvm/pull/16570
### Summary This PR adds support for partitioning and compiling the Marvell BYOC target along with initial integration with tvmc. Support for the runtime (simulator based & hardware) and other features (int8) will be added in phases as described in the pre-RFC post: https://discuss.tvm.apache.org/t/prerfc-byoc-integrating-marvell-ml-ai-accelerator-to-the-tvm-byoc-framework/16155. **Please see the pre-RFC for a detailed description of the design and roadmap going forward.** ### Building We have introduced a new cmake flag: **USE_MRVL=ON/OFF** This flag enables Marvell BYOC codegen and is required for using the Marvell BYOC functionality, running unit tests, etc. ### Usage The tvmc interface for Marvell BYOC will be similar to other composite targets. The below command is an example of cross-compilation of an ONNX model for an Octeon target. python3 -m tvm.driver.tvmc compile --target="mrvl, llvm" \ --target-llvm-mtriple=aarch64-linux-gnu \ --target-llvm-mcpu=neoverse-n2 \ --target-mrvl-num_tiles=4 \ --cross-compiler aarch64-linux-gnu-gcc \ --output model.tar \ model.onnx Supported operators will be partitioned and compiled for the MLIP and the remaining operators will be compiled for the ARM Neoverse cores using the default LLVM target. TVM Python API based compilation is also supported, please refer to the doc added as part of this PR for details. -- 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]
