Connect

Applicability

Product

Supported (√/x)

Atlas 350 Accelerator Card

x

Atlas A3 training product / Atlas A3 inference product

Atlas A2 training product / Atlas A2 inference product

Atlas 200I/500 A2 inference product

x

Atlas inference product

x

Atlas training product

x

Note: For Atlas A2 training product / Atlas A2 inference product , only the Atlas 800I A2 inference server and A200I A2 Box heterogeneous subrack are supported.

Function Description

Establishes a link with the remote AdxlEngine instance.

Prototype

1
Status Connect(const AscendString &remote_engine, int32_t timeout_in_millis = 1000)

Parameters

Parameter

Input/Output

Description

remote_engine

Input

Unique identifier of the remote AdxlEngine instance. The AdxlEngine instance corresponding to remote_engine must be on the same server.

timeout_in_millis

Input

Link establishment timeout interval, in milliseconds. The default value is 1000.

Example

Click Gitee, download the sample package of the matching version based on the tag name, and obtain the sample from the cplusplus/level1_single_api/12_adxl directory.

Returns

  • SUCCESS: Success.
  • PARAM_INVALID: Incorrect parameter.
  • TIMEOUT: Link establishment timeout.
  • ALREADY_CONNECTED: Duplicate link establishment.
  • Other values: Failure.

Exception Handling

None

Restrictions

  • This API must be called after the Initialize API is called on the client and server to complete initialization.
  • The maximum number of communication links that can be created is 512; creating too many links may lead to OOM errors and performance degradation during KV cache transmission.
  • You are advised to set the timeout interval longer than 200 ms. If TLS is enabled, it is recommended that the timeout period be set to a value greater than 2000 ms. Run the following command to query the TLS status:

    hccn_tool [-i %d] -tls -g [host]

  • Before calling this API, register all local and remote memories. Otherwise, memories registered after link establishment will not support remote access.
  • In container scenarios, you must map the /etc/hccn.conf file into the container or ensure that hccn_tool exists in the default path /usr/local/Ascend/driver/tools. If neither condition is met, you need to add the directory containing hccn_tool to the PATH environment variable. A configuration example is provided below, where hccn_tool_install_path indicates the directory containing hccn_tool.
    export PATH=$PATH:${hccn_tool_install_path}
  • This API and Initialize must run in the same thread. If you need to switch threads to call this API, first call aclrtGetCurrentContext in Application Development (C&C++) in the thread where Initialize is running to obtain the context. Then, in the new thread, call aclrtSetCurrentContext in Application Development (C&C++) to set the context.