DevicePool 模块设计文档

概述

DevicePool模块负责Ascend, CUDA, CPU等设备的异步分配与回收管理,采用生产者-消费者模式实现设备资源的并发控制。

初始化参数

参数名称 类型/必选 参数说明
device_list List[int] (可选) 设备ID列表(如[0, 1]),默认为[0]

环境变量配置

支持通过环境变量 AIKG_DEVICES_LIST 设置设备列表,格式为逗号分隔的设备ID,如:0,1,2

类方法说明

acquire_device()

异步获取一个可用的设备。

返回值

  • int: 设备ID

release_device(device_id)

异步释放指定设备。

参数

  • device_id (int): 需释放的设备ID