Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Duration 14 hours
Course Outline
Introduction to Custom Operator Development
- The rationale for building custom operators, including use cases and constraints.
- The architecture of the CANN runtime and key points for operator integration.
- An overview of TBE, TIK, and TVM within the Huawei AI ecosystem.
Low-Level Operator Programming with TIK
- Exploring the TIK programming model and its supported APIs.
- Memory management and tiling strategies within TIK.
- The process of creating, compiling, and registering a custom operation with CANN.
Testing and Validating Custom Operations
- Performing unit and integration testing of operations within the graph.
- Diagnosing kernel-level performance bottlenecks.
- Visualizing operator execution and buffer dynamics.
Scheduling and Optimization Using TVM
- An introduction to TVM as a compiler for tensor operations.
- Developing a schedule for a custom operation in TVM.
- Tuning, benchmarking, and code generation for Ascend using TVM.
Integration with Frameworks and Models
- Registering custom operations for MindSpore and ONNX.
- Ensuring model integrity and handling fallback behaviors.
- Supporting multi-operator graphs that utilize mixed precision.
Case Studies and Specialized Optimizations
- Case study: Achieving high-efficiency convolution for small input shapes.
- Case study: Optimizing memory-aware attention operators.
- Best practices for deploying custom operations across various devices.
Conclusion and Future Steps
Requirements
- A solid understanding of AI model architecture and operator-level computations.
- Proficiency in Python and Linux development environments.
- Familiarity with neural network compilers or graph-level optimization tools.
Intended Audience
- Compiler engineers specializing in AI toolchains.
- Systems developers focused on low-level AI performance optimization.
- Developers creating custom operations or targeting specialized AI workloads.