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]