"""
Released under BSD 3-Clause License,
Copyright (c) 2022 Cerebras Systems Inc.
All rights reserved.

RevStructs: Reversible structures for use in PyTorch

Note:
    amp and rng state is by default saved in fwd pass and used in bwd pass.
    amp and rng state saved per op.
"""

from .rev_container import RevContainer, RevSequential, RevProp
from .rev_op import RevOp
from .rev_silo import (
    RevAdditiveCouplingSilo,
    G_RevAdditiveCouplingSilo,
    RevResidualSilo,
    RevLimAdditiveCouplingSilo,
    G_RevLimAdditiveCouplingSilo,
    RevLimResidualSilo,
    RevSilo,
)
from .rev_spatial_downsample import RevSpatialDownsample
from .rev_tensor_ops import RevChunk, RevCat
from .rev_block import (
    RevResidualBlock,
    RevElementWiseAffine,
    RevNorm,
    RevElementWiseAffineDiv,
)
from .recomp_op import RecomputeOp, RecomputeSilo

"""
Released under BSD 3-Clause License,
Copyright (c) 2022 Cerebras Systems Inc.
All rights reserved.

RevStructs: Reversible structures for use in PyTorch

Note:
    amp and rng state is by default saved in fwd pass and used in bwd pass.
    amp and rng state saved per op.
"""

from .rev_container import RevContainer, RevSequential, RevProp
from .rev_op import RevOp
from .rev_silo import (
    RevAdditiveCouplingSilo,
    G_RevAdditiveCouplingSilo,
    RevResidualSilo,
    RevLimAdditiveCouplingSilo,
    G_RevLimAdditiveCouplingSilo,
    RevLimResidualSilo,
    RevSilo,
)
from .rev_spatial_downsample import RevSpatialDownsample
from .rev_tensor_ops import RevChunk, RevCat
from .rev_block import (
    RevResidualBlock,
    RevElementWiseAffine,
    RevNorm,
    RevElementWiseAffineDiv,
)
from .recomp_op import RecomputeOp, RecomputeSilo

Released under BSD 3-Clause License, Copyright (c) 2022 Cerebras Systems Inc. All rights reserved.  RevStructs: Reversible structures for use in PyTorch  Note:     amp and rng state is by default saved in fwd pass and used in bwd pass.     amp and rng state saved per op.