cupyx.optimizing.optimize#

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

一个上下文管理器,用于优化内核启动参数。

在此上下文中,CuPy 的例程会寻找最佳的内核启动参数值(例如,线程数和块数)。找到的值会被缓存,并以给定输入数组的形状、步长和数据类型作为键进行复用。

参数:
  • key (stringNone) – 优化的缓存键。

  • path (stringNone) – 保存优化缓存记录的路径。指定并存在路径时,记录将从该路径加载。当 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)。目前仅支持规约运算。