yr.datasystem.hetero_client.HeteroClient¶
- class yr.datasystem.hetero_client.HeteroClient(host, port, connect_timeout_ms=9000, token='', client_public_key='', client_private_key='', server_public_key='', access_key='', secret_key='', tenant_id='', enable_cross_node_connection=False, req_timeout_ms=0, enable_remote_h2d=False)¶
异构对象客户端。
- 参数:
host (str) - 数据系统 Worker 的主机 IP 地址。
port (int) - 数据系统 Worker 的端口号。
connect_timeout_ms (int) - 客户端连接和请求超时时间,单位为毫秒。默认值:
9000。token (str) - 客户端认证令牌。默认值:
""。client_public_key (str) - 用于 curve 认证的客户端公钥。默认值:
""。client_private_key (str) - 用于 curve 认证的客户端私钥。默认值:
""。server_public_key (str) - 用于 curve 认证的服务端公钥。默认值:
""。access_key (str) - AK/SK 授权使用的访问密钥。默认值:
""。secret_key (str) - AK/SK 授权的密钥。默认值:
""。tenant_id (str) - 租户 ID。默认值:
""。enable_cross_node_connection (bool) - 如果为
True,允许客户端在与当前数据系统 Worker 连接异常时自动切换到备用节点。默认值:False。req_timeout_ms (int) - 请求超时时间,单位为毫秒。当 req_timeout_ms<=0 时,req_timeout_ms 与 connect_timeout_ms 相同。默认值:
0。enable_remote_h2d (bool) - 如果为
True,启用异构场景远端共享内存到NPU内存的数据传输功能。默认值:False。
- 输出:
HeteroClient
方法:
初始化异构对象客户端。
从 host 中获取数据并写入 device 中。
通过二维地址和大小列表将 host 对象直接写入多个 device buffer。
为 RH2D over HIXL HCCS 预注册后续 MGetH2D 使用的 device 目标内存。
将 device 的数据写入到 host 中。
通过二维地址和大小列表将多个 device buffer 写入 host 对象。
从 host 中获取数据并写入 device 中的异步接口。
将 device 的数据写入到 host 中的异步接口。
删除 host 中的 key,与 mget_h2d / mset_d2h 配套使用。
将 device 上的内存发布为数据系统的异构对象。发布后的异构对象可通过 dev_subscribe 获取。
订阅发布到数据系统的异构对象,并接收数据写入 data_blob_list。数据通过 device to device 通道直接传输。
通过数据系统缓存 Device 上的数据。
获取 device 中的数据。
从数据系统删除本节点上此 key 的元数据,不再管理此 key 对应的 device 内存。
从数据系统删除此 key 的元数据,不再管理此 key 对应的 device 内存。
从数据系统删除此 key 的元数据的异步接口,删除成功后不再管理此 key 对应的 device 内存。
生成唯一的键。
获取keys 对应的元数据信息。
Batch-check key existence and return integer indicators.
检查给定的键在数据系统中是否存在。