> This page is for version Nightly (default).
> For other versions, use one of these documentation indexes:
> - Nightly (default): https://docs.nvidia.com/nemo/automodel/nightly/llms.txt
> - Latest: https://docs.nvidia.com/nemo/automodel/latest/llms.txt
> - 0.7.0 · 26.10: https://docs.nvidia.com/nemo/automodel/v0.7/llms.txt
> - 0.5.0 · 26.06: https://docs.nvidia.com/nemo/automodel/v0.5/llms.txt
> - 0.4.0 · 26.04: https://docs.nvidia.com/nemo/automodel/v0.4/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/automodel/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/automodel/_mcp/server.

# nemo_automodel.shared.matrix_layout

Storage-orientation contract between grouped-GEMM modules and layout-aware optimizers.

## Module Contents

### Classes

| Name                                                                                    | Description                                                                         |
| --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [`TransposedMatrixModule`](#nemo_automodel-shared-matrix_layout-TransposedMatrixModule) | Marker base class for modules whose matrix parameters store `[..., input, output]`. |

### API

```python
class nemo_automodel.shared.matrix_layout.TransposedMatrixModule()
```

Marker base class for modules whose matrix parameters store `[..., input, output]`.

`nn.Linear` stores `[output, input]`. Grouped-GEMM expert modules (`GroupedExperts`,
`GroupedExpertsDeepEP` and their LoRA and MXFP4 subclasses) store every trainable matrix
parameter, including LoRA factors, as `[experts, input, output]` so each expert computes
`x @ W`. Optimizers whose update depends on the output-neuron axis (Muown) check
`isinstance(module, TransposedMatrixModule)` to normalize along that axis. Biases are not
matrices and are routed by the optimizer's own rules. The class carries no state or methods.