API List
- LLM-DataDist is an LLM distributed cluster and data acceleration component. It provides clustered key-value (KV) data management capabilities and supports disaggregated deployment of full graphs and incremental graphs.
- LLM-DataDist APIs are stored in ${INSTALL_DIR}/include/llm_datadist/llm_datadist.h. Replace ${INSTALL_DIR} with the CANN component directory. For example, if the installation is performed by the root user, the default file storage path is /usr/local/Ascend/cann.
- The library file corresponding to LLM-DataDist APIs is libllm_datadist.so.
- HIXL provides high-performance, zero-copy point-to-point data transmission capabilities for cluster scenarios and exposes its capabilities through simple APIs.
- HIXL APIs are stored in ${INSTALL_DIR}/include/hixl/hixl.h. Replace ${INSTALL_DIR} with the CANN component directory. For example, if the installation is performed by the root user, the default file storage path is /usr/local/Ascend/cann.
- The library file corresponding to HIXL APIs is libcann_hixl.so.
- HIXL_CS APIs are stored in ${INSTALL_DIR}/include/cs/hixl_cs.h. Replace ${INSTALL_DIR} with the CANN component directory. For example, if the installation is performed by the root user, the default file storage path is /usr/local/Ascend/cann.
- The library file corresponding to HIXL_CS APIs is libcann_hixl.so.
The following products are supported:
Atlas A2 training products /Atlas A2 inference products : ForAtlas A2 training products /Atlas A2 inference products , only the Atlas 800I A2 inference server and A200I A2 Box heterogeneous subrack are supported. When the HCCS transmission protocol is used in the server, LLM-DataDist APIs support only D2D transmission.
Atlas A3 training products /Atlas A3 inference products : When the HCCS transmission protocol is used, LLM-DataDist APIs do not support the host memory as the remote cache.Ascend 950PR /Ascend 950DT : The UB protocol is used within a SuperPoD, and the RoCE protocol is used between SuperPoDs.
The APIs are listed as follows.
LLM-DataDist
API |
Description |
|---|---|
Constructs an LLM-DataDist object. |
|
Destructs an LLM-DataDist object. |
|
Initializes the LLM-DataDist instance. |
|
Releases the LLM-DataDist. |
|
Sets the role of the current LLM-DataDist. |
|
Establishes a link. |
|
Disconnects a link. |
|
Pulls the KV cache in contiguous memory mode. |
|
Pulls the KV cache in block list mode. |
|
Pushes the cache to the remote node. |
|
Pushes the cache to the remote node in block list mode. |
|
Registers the local KV cache memory. |
|
Deregisters the local KV cache memory. |
HIXL
API |
Description |
|---|---|
Creates an HIXL object. |
|
Destructs an HIXL object. |
|
Initializes an HIXL instance. This API must be called before other APIs are called. |
|
Cleans up HIXL resources. |
|
Registers a memory address for use by TransferSync in subsequent calls. The local and remote memory addresses specified in TransferSync can be a subset of the registered addresses. Local memory addresses must be registered with the local HIXL instance, and remote memory addresses must be registered with the remote HIXL instance. |
|
Deregisters memory. |
|
Establishes a link with the remote HIXL instance. |
|
Disconnects a link with the remote HIXL instance. |
|
Transmits memory with the remote HIXL instance. |
|
Performs batch asynchronous transmission and submits transfer requests. |
|
Obtains the status of a transfer request. |
|
Sends a Notify message from the client to the server. |
|
Obtains all Notify messages received by servers in the current HIXL instance and clears them. |
HIXL_CS
API |
Description |
|---|---|
Creates and initializes a server instance. |
|
Registers the shared memory by the server for the client to access. |
|
Starts server listening to accept connections from the client. |
|
Deregisters the memory that has been registered. |
|
Destroys a server instance and releases related resources. |
|
Creates a client instance and initializes local resources. |
|
Initiates synchronous connection establishment with the server (blocking call until success or timeout). |
|
Obtains the information about the memory registered by the server. |
|
Registers the local memory for the client. |
|
Deregisters the memory registered by the client. |
|
Writes multiple groups of data to the server asynchronously in batches. |
|
Reads multiple groups of data from the server to the local host asynchronously in batches. |
|
Queries the completion status of an asynchronous batch task. |
|
Destroys a client instance and releases resources. |
ADXL (to Be Deprecated)
API |
Description |
|---|---|
Creates an AdxlEngine object. |
|
Destructs an AdxlEngine object. |
|
Initializes an AdxlEngine instance. This API must be called before other APIs are called. |
|
Cleans up AdxlEngine resources. |
|
Registers a memory address for use by TransferSync in subsequent calls. The local and remote memory addresses specified in TransferSync can be a subset of the registered addresses. Local memory addresses must be registered with the local AdxlEngine instance, and remote memory addresses must be registered with the remote AdxlEngine instance. |
|
Deregisters memory. |
|
Establishes a link with the remote AdxlEngine instance. |
|
Disconnects a link with the remote AdxlEngine instance. |
|
Transmits memory with the remote AdxlEngine instance. |
|
Sends a Notify message from the client to the server. |
|
Obtains all Notify messages received by servers in the current AdxlEngine instance and clears them. |
|
Allocates memory. |
|
Deregisters memory. |