cuquantum.cutensornet.contraction_autotune¶
- cuquantum.cutensornet.contraction_autotune(intptr_t handle, intptr_t plan, raw_data_in, intptr_t raw_data_out, intptr_t work_desc, intptr_t pref, intptr_t stream)[source]¶
自动调优收缩计划,为每个成对收缩找到最佳的
cutensorContractionPlan_t
。- 参数
handle (intptr_t) – 不透明句柄,持有 cuTensorNet 的库上下文。
plan (intptr_t) – 计划必须已创建(参见
create_contraction_plan()
);各个收缩计划将被微调。raw_data_in (object) –
N 个指针的数组(N 是指定的输入张量的数量
create_network_descriptor()
);raw_data_in[i]
指向与第 i 个输入张量关联的数据(在设备内存中)。它可以是raw_data_out (intptr_t) – 指向输出张量的原始数据(在设备内存中)。
work_desc (intptr_t) – 描述工作区的不透明结构。提供的工作区必须是
valid
(工作区大小必须等于或大于最小需求大小和计划创建时提供的值)。参见create_contraction_plan()
、workspace_get_memory_size()
和workspace_set_memory()
。如果设置了设备内存处理程序,则work_desc
可以设置为 null,或者work_desc
中的工作区指针可以设置为 null,并且工作区大小可以设置为 0(在这种情况下,将使用“推荐”大小,请参见CUTENSORNET_WORKSIZE_PREF_RECOMMENDED
)或设置为valid
大小。指定大小的工作区将从用户的内存池中提取,并在完成后释放回内存池。pref (intptr_t) – 控制自动调优过程,并允许用户控制在此例程中花费的时间。
stream (intptr_t) – 执行计算的 CUDA 流。