Tài liệu tham khảo API cho bộ kỹ năng CANNBot

Bộ kỹ năng CANNBot cung cấp các thành phần tái sử dụng cho các tác nhân thông minh CANN, giúp tăng tốc quá trình phát triển. Tài liệu này liệt kê toàn bộ API được trích xuất từ asc-devkit/docs/api/.

Cấu trúc thư mục

asc-devkit/docs/api/
├── context/           # Các cấu trúc dữ liệu cốt lõi
├── basic_api/         # API cơ bản (bảng 2-13)
├── adv_api/           # API nâng cao (bảng 14-15)
├── utils/             # Tiện ích chung
├── aicpu_api/         # API dành cho AI CPU
└── c_api/             # API ngôn ngữ C

1. Cấu trúc dữ liệu cốt lõi (context/)

Lớp / StructMô tả ngắn
LocalTensorQuản lý dữ liệu trong bộ nhớ cục bộ của AI Core
GlobalTensorTruy cập dữ liệu toàn cục trong Global Memory
CoordinateLưu chỉ số đa chiều của tensor
LayoutĐịnh nghĩa bố cục bộ nhớ cho tensor
TensorTraitGiao diện chung cho các đặc tính tensor

2. API cơ bản (basic_api/)

Bảng 2 – Thao tác với giá trị vô hướng

HàmChức năng
ScalarGetCountOfValueĐếm số lần xuất hiện của giá trị
ScalarCountLeadingZeroĐếm số bit 0 ở đầu
ScalarCastChuyển kiểu dữ liệu vô hướng

Bảng 3 – Tính toán vector

NhómCác hàm
Số họcAdd, Sub, Mul, Div, Abs
Lượng giácSin, Cos, Tan, Asin, Acos, Atan
Log-expExp, Log, Sqrt, Rsqrt
So sánhGreater, Less, Equal, NotEqual
LogicAnd, Or, Not, Xor

Bảng 4 – Di chuyển dữ liệu

HàmMô tảAlign
DataCopySao chép khối dữ liệu512 byte
DataMoveDi chuyển dữ liệu32 byte

Bảng 5 – Quản lý bộ nhớ

HàmMô tả
MemAllocCấp phát bộ nhớ
MemFreeGiải phóng bộ nhớ

Bảng 6 – Đồng bộ

HàmMô tả
SyncChờ đồng bộ
BarrierRào chắn đồng bộ

Bảng 7 – Điều khiển bộ nhớ cache

HàmMô tả
CacheThao tác flush / invalidate cache

Bảng 8 – Truy cập biến hệ thống

HàmMô tả
GetSysVarĐọc giá trị biến hệ thống

Bảng 9 – Thao tác nguyên tử

HàmMô tả
AtomicAdd, AtomicSub, AtomicMin, AtomicMaxCộng / trừ / min / max nguyên tử

Bảng 10 – Gỡ lỗi

HàmMô tả
DebugIn log hoặc dừng kernel

Bảng 11 – Tiện ích

Các hàm phụ trợ như kiểm tra kích thước tensor, tính toán stride, v.v.

Bảng 12 – Kernel Tiling

HàmMô tả
GetTilingKeyLấy khóa tiling hiện tại
SetTilingKeyGán khóa tiling mới

Bảng 13 – ISASI

Các hàm truy cập cấp phần cứng thấp như đọc thanh ghi đặc biệt.

3. API nâng cao (adv_api/)

Bảng 14 – Toán học nâng cao

NhómCác hàm
Lượng giác & HyperbolicAcosh, Asinh, Atanh, Cosh, Sinh, Tanh
Phép toán bitBitwiseAnd, BitwiseNot, BitwiseOr, BitwiseXor
Chuyển kiểuCast
Phép toán hỗn hợpAddcdiv, Addsub

Bảng 15 – Lượng tử hóa

HàmMô tả
Các hàm quantize / dequantizeChuyển đổi float ↔ int8 / int16

4. Utils API (utils/)

Chứa các hàm phụ trợ như tính padding, chia tile, kiểm tra overflow.

5. AI CPU API (aicpu_api/)

Tập hợp API chỉ hoạt động trên AI CPU, ví dụ AicpuLaunchKernel, AicpuMemcpyAsync.

6. C API (c_api/)

Thư mục conNội dung
atomic/Phiên bản C của thao tác nguyên tử
cache_ctrl/Điều khiển cache qua C
cube_compute/API Cube dành cho C
vector_compute/API vector dành cho C

Kinh nghiệm tra cứu

  1. Thứ tự ưu tiên tra cứu
    asc-devkit/docs/api/context/   → Cấu trúc dữ liệu
    asc-devkit/docs/api/basic_api/ → API cơ bản
    asc-devkit/docs/api/adv_api/   → API nâng cao
    
  2. Khi đọc từng file API
    • Xem mục Restriction để biết ràng buộc và yêu cầu căn chỉnh.
    • Kiểm tra Parameters để xác định kiểu và miền giá trị.
    • Đọc Returns để hiểu ý nghĩa giá trị trả về.
    • Tham khảo Example để nắm cách dùng.
  3. Yêu cầu căn chỉnh phổ biến
    • Hầu hết: 32 byte
    • DataCopy: 512 byte
    • Một số API đặc biệt: 64 hoặc 128 byte

Thẻ: CANN CANNBot Ascend API Reference AI Core

Đăng vào ngày 4 tháng 10 lúc 18:18