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 个输入张量关联的数据(在设备内存中)。它可以是

    • 一个 int,作为指向数组的指针地址,或者

    • 一个 int 序列(作为指针地址)。

  • 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 流。