快捷键

torch.cuda.nvtx 的源代码

# mypy: 允许未类型化定义
r该软件包增加了对 NVIDIA 工具扩展(NVTX)的支持,用于性能分析。

来自 contextlib 导入 contextmanager


尝试:
    来自 torch._C 导入 _nvtx
除了 导入错误:

     _NVTXStub:
        @staticmethod
        def _fail(*参数, **kwargs):
            抛出 运行时错误(
                "NVTX 函数未安装。您确定您有 CUDA 构建吗?"
            )

        rangePushA = _fail
        rangePop = 失败
        标记 A = 失败

    _nvtx = _NVTXStub()  # 类型:忽略[赋值]

全部 = [范围推送, 范围弹出, 范围开始, "range_end", "标记", "范围"]


[文档]def 范围压入(msg): "空行" 将一个范围推入嵌套范围栈。返回开始范围的基础索引深度。 参数: msg (str): 与范围关联的 ASCII 消息 """ 返回_nvtx.rangePushA(msg)
[文档]def range_pop(): """从嵌套范围跨度堆栈中弹出范围。返回结束的范围的零基深度。""" return _nvtx.rangePop()
def 范围结束
(信息) -> int: "" 用字符串消息标记范围开始。它返回一个唯一句柄 用于将此范围传递给相应的 rangeEnd()调用。 这是一个与 range_push/range_pop 的关键区别是, 范围起始/范围结束版本支持跨线程的范围(在一个线程上开始) 线程在另一个线程上开始和结束。 返回:一个范围句柄(uint64_t),可以传递给 range_end()。 参数: msg (str):与范围关联的 ASCII 消息。 """ 返回 _nvtx.rangeStartA(信息) def range_end(范围标识符) -> : "" 为给定的范围标识符标记范围的结束。 参数: range_id (int):起始范围的唯一句柄。 """ _nvtx.范围结束(范围 ID) def _设备范围开始(信息: str, : 整型 = 0) -> 对象: "" 标记字符串消息范围的开始。 返回一个不透明的堆分配句柄,用于传递给对应的 device_range_end() 调用。 与 range_start 的一个关键区别是,它 与 range_start 的一个关键区别是,它 范围开始标记立即标识范围,而_device_range_start 一旦所有 CUDA 流上的任务完成,就立即标记范围的开始。 返回:一个不透明的堆分配句柄,应传递给_device_range_end()。 返回值:一个不透明的堆分配句柄,应传递给_device_range_end()。 参数: msg (str):与范围关联的 ASCII 消息。 stream (int):CUDA 流 ID。 """ 返回 _nvtx.deviceRangeStart(信息, ) def _设备范围结束(范围处理: 对象, : 整型 = 0) -> : "" 当 CUDA 流上的所有任务完成后,立即标记给定范围处理器的范围结束。 当 CUDA 流上的所有任务完成后,立即标记给定范围处理器的范围结束。 参数: 范围句柄:起始范围的唯一句柄。 流(整型):CUDA 流 ID。 """ _nvtx.deviceRangeEnd(范围处理, )
[文档]def mark(msg): """ 描述在某个时刻发生的瞬时事件。 Args: 消息 (str): 与事件关联的 ASCII 消息。 """ return _nvtx.markA(msg)
[文档]@contextmanager def range(msg, *args, **kwargs): """ 上下文管理器/装饰器,在开始处推送一个 NVTX 范围 范围内,并在末尾弹出。如果提供了额外的参数, 它们将被作为参数传递给 msg.format()。 参数: msg (str): 与范围关联的消息 """ range_push(msg.format(*args, **kwargs)) try: yield finally: range_pop()

© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

查看 PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源,获取您的疑问解答

查看资源