# for PyTorch 1.11 compatibility uses from typing import Dict, List, Tuple, Union import torch from torch.fx import GraphModule, Node from ..._compatibility import compatibility __all__ = ["calculate_fwd_in", "calculate_fwd_tmp", "calculate_fwd_out"] @compatibility(is_backward_compatible=True) def calculate_fwd_in(n: Node) -> bool: """A helper function to calculate `fwd_in` Args: n (Node): a node from the graph Returns: save_fwd_in (bool): the result of `save_fwd_in` """ return n.meta['save_fwd_in'] @compatibility(is_backward_compatible=True) def calculate_fwd_tmp(n: Node) -> int: """A helper function to calculate `fwd_tmp` Args: n (Node): a node from the graph Returns: fwd_tmp (int): the result of `fwd_tmp` """ return n.meta["fwd_mem_tmp"] @compatibility(is_backward_compatible=True) def calculate_fwd_out(n: Node) -> int: """A helper function to calculate `fwd_out` Args: n (Node): a node from the graph Returns: fwd_out (int): the result of `fwd_out` """ return n.meta['fwd_mem_out']