ComputeGroup

Group of operators with internal dependency resolution and optional JIT tracing support.

Combines multiple compute operators into one execution unit and applies dependency resolution among them. Compute groups may be nested. Inputs of a group are all inputs of the members that are not produced by any member; outputs are all members' outputs not consumed by any member. Provide the members with "computes".

JIT Tracing

ComputeGroup supports JIT (Just-In-Time) compilation of tensor operations using PyTorch's tracing infrastructure. When enabled (the default), sequences of compatible tensor operations are captured into optimized computation graphs that can reduce memory usage and improve performance.

JIT tracing is controlled by the "enable_jit" parameter. Operations that cannot be JIT traced (such as random number generation or iterative solvers) are automatically detected and the execution is split into traced and non-traced segments.

For detailed information about JIT tracing, see JIT Tracing System.

Example Input File Syntax

[TensorComputes<<<{"href": "../../syntax/TensorComputes/index.html"}>>>]
  [Solve<<<{"href": "../../syntax/TensorComputes/Solve/index.html"}>>>]
    [group]
      type = ComputeGroup<<<{"description": "Group of operators with internal dependency resolution and optional JIT tracing support.", "href": "ComputeGroup.html"}>>>
      computes<<<{"description": "List of grouped tensor computes."}>>> = 'cbar mumech mu mubar'
    []
  []
[]
(test/tests/tensor_compute/group.i)

Input Parameters

  • computesList of grouped tensor computes.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of grouped tensor computes.

  • enable_jitFalseEnable JIT tracing for this compute group

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Enable JIT tracing for this compute group

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files