设备句柄类,定义于 InfiniCore/python/infinicore/device.py,用于在 Python 端选择和描述运行时设备。
from infinicore import device
cpu = device() # 默认 "cpu"
cuda0 = device("cuda:0") # 字符串形式指定
cuda1 = device("cuda", 1) # 类型 + index
clone = device(cuda0) # 从已有实例拷贝type:支持"cpu"、"cuda"、"mlu"、"npu"、"musa"等,具体取决于_infinicore编译时支持。index:可选整型索引,字符串中已包含":"时禁止再传入。- 传入已有
device实例时会拷贝其type/index。
type/index:公开的设备类型与序号。__repr__()/__str__():打印友好格式,如device(type='cuda', index=0)或"cuda:0"。_underlying:内部_infinicore.Device对象,供底层 API 使用。
device实例用于所有张量构造函数及顶层算子,确保_infinicore在正确的设备上执行。- 若需要从底层
_infinicore.Device转换为 Python 对象,可使用device._from_infinicore_device(内部方法)。