Shortcuts

torch.backends.mkl 的源代码

import torch


[docs]def is_available(): r"""返回 PyTorch 是否使用 MKL 支持构建。""" return torch._C.has_mkl
VERBOSE_OFF = 0 VERBOSE_ON = 1
[docs]class verbose: """ 按需的 oneMKL 详细功能。 为了更容易调试性能问题,oneMKL 可以转储详细消息,包含执行信息,如执行内核时的持续时间。详细功能可以通过名为 `MKL_VERBOSE` 的环境变量调用。然而,这种方法会在所有步骤中转储消息。这些是大量的详细消息。此外,为了调查性能问题,通常只需要一次迭代的详细消息就足够了。此按需详细功能使得可以控制详细消息转储的范围。在以下示例中,详细消息将仅在第二次推理时转储。 .. highlight:: python .. code-block:: python import torch model(data) with torch.backends.mkl.verbose(torch.backends.mkl.VERBOSE_ON): model(data) 参数: level: 详细级别 - ``VERBOSE_OFF``: 禁用详细 - ``VERBOSE_ON``: 启用详细 """ def __init__(self, enable): self.enable = enable def __enter__(self): if self.enable == VERBOSE_OFF: return st = torch._C._verbose.mkl_set_verbose(self.enable) assert ( st ), "Failed to set MKL into verbose mode. Please consider to disable this verbose scope." return self def __exit__(self, exc_type, exc_val, exc_tb): torch._C._verbose.mkl_set_verbose(VERBOSE_OFF) return False
优云智算