cupyx.optimizing.optimize#

cupyx.optimizing.optimize(*, key=None, path=None, readonly=False, **config_dict)[源代码][源代码]#

优化内核启动参数的上下文管理器。

在这种情况下,CuPy 的例程会找到最佳的核函数启动参数值(例如,线程数和块数)。找到的值会被缓存,并以输入数组的形状、步幅和数据类型作为键进行重用。

参数:
  • key (string or None) – 优化缓存键。

  • path (string or None) – 保存优化缓存记录的路径。当指定路径且路径存在时,记录将从该路径加载。当 readonly 选项设置为 False 时,优化缓存记录将在优化后保存到该路径。

  • readonly (bool) – 查看 path 选项的描述。

  • max_trials (int) – 默认的试验次数为100。

  • timeout (float) – 在给定的秒数后停止学习。默认值是1。

  • max_total_time_per_trial (float) – 重复测量给定秒数内例程的执行时间。默认值为0.1。

示例

>>> import cupy
>>> from cupyx import optimizing
>>>
>>> x = cupy.arange(100)
>>> with optimizing.optimize():
...     cupy.sum(x)
...
array(4950)

备注

需要安装 Optuna (https://optuna.org)。目前它仅适用于缩减操作。