Project Documentation

Directory Description

Key directory structure is as follows:

├── api                            # API documentation directory
│   ├── context                    # Documentation for each API
│   └── README.md                  # Ascend C API list
├── figures                        # Image directory
├── asc_adv_api_contributing.md    # Ascend C high-level API contribution guide
├── asc_basic_api_contributing.md  # Ascend C basic API contribution guide
├── asc_c_api_contributing.md      # Ascend C C API contribution guide
├── quick_start.md                 # Quick start documentation
└── README.md

Documentation Description

To help developers quickly familiarize with this project, corresponding documentation can be obtained as needed. Documentation content includes:

Document Target Audience Content Introduction
API List Users developing customized APIs or operators based on Ascend C open source repository. Introduces all APIs included in the project.
High-level API Contribution Guide Users developing customized APIs based on Ascend C open source repository. Introduces how to extend or develop Ascend C high-level API. High-level API abstracts and encapsulates common algorithms based on single-core, implementing commonly used computational algorithms to improve operator development efficiency.
Basic API Contribution Guide Users developing customized APIs based on Ascend C open source repository. Introduces how to extend or develop Ascend C basic API. Basic API implements abstraction of hardware capabilities, opening chip capabilities, ensuring completeness and compatibility.
C API Contribution Guide Users developing customized APIs based on Ascend C open source repository. Introduces how to extend or develop Ascend C C API. C API provides pure C style interfaces, conforming to C language operator development habits, opening complete chip programming capabilities.
Ascend C Programming Guide Developers writing operator programs using Ascend C based on Ascend AI hardware, developing custom operators. Ascend C is a programming language launched by CANN for operator development scenarios, with native support for C and C++ standard specifications, balancing development efficiency and runtime performance. Write operator programs using Ascend C, running on Ascend AI processors to implement custom innovative algorithms.
Ascend C Best Practices Developers needing to further optimize operator performance based on already developed Ascend C operators. Characteristics of heterogeneous computing, operator debugging methods, and operator performance optimization strategies. Introduces debugging and optimization concepts in Ascend C programming, combining various performance optimization methods with specific cases to help developers achieve high-performance operator development.

Appendix

Besides the systematic development documentation introduced above, you can also selectively learn about corresponding specialized content based on actual scenarios and development stages.