cuquantum.cutensornet.tensor.DecompositionOptions¶
- class cuquantum.cutensornet.tensor.DecompositionOptions(compute_type: Optional[int] = None, device_id: Optional[int] = None, handle: Optional[int] = None, logger: Optional[logging.Logger] = None, memory_limit: Optional[Union[int, str]] = '80%', blocking: Literal[True, 'auto'] = True, allocator: Optional[cuquantum.cutensornet.memory.BaseCUDAMemoryManager] = None)[source]¶
用于为
cuquantum.cutensornet.tensor.decompose()和cuquantum.cutensornet.experimental.contract_decompose()函数提供选项的数据类。- compute_type¶
CUDA 计算类型。如果未指定,将选择合适的计算类型。
- logger¶
Python Logger 对象。如果未提供 logger 对象,将使用根 logger。
- memory_limit¶
cuTensorNet 的最大可用内存。可以指定为值(带有可选后缀,如 K[iB]、M[iB]、G[iB])或百分比。默认值为设备内存的 80%。
- blocking¶
一个标志,用于指定执行函数和方法的行为,例如
Network.autotune()和Network.contract()。当blocking为True时,这些方法在操作完成之前不会返回。当 blocking 为"auto"时,当输入张量在 GPU 上时,这些方法会立即返回。当输入张量在 CPU 上时,执行方法始终会阻塞。默认值为True。- 类型
Literal[True, ‘auto’]
- allocator¶
一个支持
BaseCUDAMemoryManager协议的对象,用于分配设备内存。如果未提供分配器,则将使用来自库包的内存分配器(PyTorch 操作数使用torch.cuda.caching_allocator_alloc(),否则使用cupy.cuda.alloc())。- 类型
Optional[cuquantum.cutensornet.memory.BaseCUDAMemoryManager]